赋值
在python中,对象的赋值就是简单的对象引用,这点和C++不同。如下:
a = [1,2,3,"hello",["python","C++"]]
b = a
print a==b #True
赋值操作(包括对象作为参数、返回值)不会开辟新的内存空间,它只是复制了新对象的引用。也就是说,除了b这个名字以外,没有其它的内存开销。这种情况下,b和a是一样的,他们指向同一片内存,b不过是a的别名,是引用。我们可以使用a与b是否相同来判断,返回True,表明他们地址相同,内容相同。
修改了a,就影响了b;同理,修改了b就影响了a。
a = [1,2,3,"hello",["python","C++"]]
b = a
b.append("ADD")
print "a=",a,"b=",b