2018年1月1日 下午1:07
总结:
直接看最后的总结就行,前面都是分析过程,编程的时候不可能考虑那么多
不可变对象在程序中一定是唯一的一个
- a=5 b=5 其中5就一个
- 而 list1=[1,2,3] list2=[1,2,3] 中的[1,2,3]是不同的两个
- 判断方法是id()值是否相同(不适合与list1=list2=[1,2,3]这种情况)
关于id:主要是这里存在一个必要非充分条件判断是否可变
- 样子一样的,不可变对象————>Id相同
- id相同 ——\——>样子一样的,不可变对象
Id相同的意思是:此时这两个对象是相同的(可变对象也可以相同,当list1=list2=[1,2,3])
总结:最简单的方法
- 不可变(immutable):int、字符串(string)、float、(数值型number)、元组(tuple)
- 可变(mutable):字典型(dictionary)、列表型(list)
- 只有多重赋值时(list1=list2=[1,2,3]),才是同一个对象
- 但他们两个添加元素的方式完全不同
- 多重赋值,一定是相同的对象(不论是否是可变)!!!!