注:补充
1、is 和 == 的区别
提示:python中对象的三个基本要素,分别是:id(身份地址识别)、type(数据类型)、value(所包含的值)
1)is是同一类型运算符,他一般会判断id、type、value,如果这三个都相同则会返回True,如果有一个不相同则会返回False
2)== 只是会比较type、value。
综上:is相较于 == 更加的严格
2、深拷贝和浅拷贝的区别
1)赋值:创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。(=)
2)浅拷贝:对另外一个变量的内存地址的拷贝,这两个变量指向同一内存地址的变量。(li.copy(),copy.copy())
**公用一个值;
**这两个变量的内存地址一样;
**对其中一个变量的值改变,另外一个变量的值也会改变;
3)深拷贝:一个变量对于另外一个变量的值拷贝。(copy.deepcopy())
**两个变量的内存地址不同;
**两个变量各有各自己的值,且互不影响;
**对其任意的一个变量的值的改变不会影响另外一个;