tôi không thể tìm thấy thông tin ngắn gọn về những gì đang xảy ra trong chương trình này rất đơn giản:Python biến xử lý, tôi không hiểu nó
print 'case 1'
# a and b stay different
a = [1,2,3]
b = a
b = [4,5,6]
print 'a =',a
print 'b =',b
print
print 'case 2'
# a and b becomes equal
a = [1,2,3]
b = a
b[0] = 4
b[1] = 5
b[2] = 6
print 'a =',a
print 'b =',b
print
print 'case 3'
# a and b stay different now
a = [1,2,3]
b = a[:]
b[0] = 4
b[1] = 5
b[2] = 6
print 'a =',a
print 'b =',b
print
print 'case 4'
# now the funny thing
a=[1,2,[3]]
b=a[:]
b[0] = 4
b[1] = 5
b[2][0] = 6 # this modifies b and a!!!
Kết quả của bài kiểm tra đơn giản này là:
case 1
a = [1, 2, 3]
b = [4, 5, 6]
case 2
a = [4, 5, 6]
b = [4, 5, 6]
case 3
a = [1, 2, 3]
b = [4, 5, 6]
case 4
a = [1, 2, [6]]
b = [4, 5, [6]]
Tôi rõ ràng không hiểu cách python xử lý từng trường hợp. Có ai có thể cung cấp một liên kết để tôi có thể đọc về nó, hoặc giải thích ngắn gọn về những gì đang xảy ra?
Cảm ơn rất nhiều.
Chà. Đó là * tốt. –