代码如下:
a = 'abcdefg'
b = a
b += 'ijk'
print a
print a is b
print
class A():
def __init__(self, a):
A.a = a
a = A('abcdefg')
b = a
b.a +='ijk'
print a.a
print a is b
结果如下:
abcdefg
False
abcdefgijk
True
会发现对于string类型的,b = a之后改掉b,a并不会随之改变
而对于自己自定义的类型,b = a之后,a和b就变成了同一个对象的两个引用,改掉其中一个指引的对象,另外的一个指引的也会变,因为两个指引的是同一个对象