1.先了解 == ,is 的使用:
a is b --->判断a和b是否指向的同一块内存空间,是比较两个引用是否指向同一个对象(地址引用比较)。
a == b --->判断a和b指向的空间里的内容是否一样,是比较两个对象是否相等。(比较的是数值)
2.深拷贝、浅拷贝
2.1 浅拷贝:
可以理解为拷贝了引用,即栈的数据地址,并没有拷贝堆的实质内容
2.2 深拷贝:
可以理解为把堆里面的内容直接拷贝过去。
3.python中两个相同的数在(-5~256)之间,是相同的内存
4.copy中有一个浅层copy,一个深层deepcopy,deepcopy中,数据绝不改变,浅层copy中,迭代的数据可改变,不迭代的仍不改变
5.元组比较特殊,属于常亮。深copy,浅copy,元组的地址一样。当有【】或者其他集合,deepcopy地址不一样
网友评论