0%

Python的可变/不可变对象总结

2018年1月1日 下午1:07

总结:

  1. 直接看最后的总结就行,前面都是分析过程,编程的时候不可能考虑那么多

  2. Python学习笔记——可变对象和不可变对象 - CSDN博客一个小小的参考

  3. 不可变对象在程序中一定是唯一的一个

    1. a=5 b=5 其中5就一个
    2. 而 list1=[1,2,3] list2=[1,2,3] 中的[1,2,3]是不同的两个
    3. 判断方法是id()值是否相同(不适合与list1=list2=[1,2,3]这种情况)
  4. 关于id:主要是这里存在一个必要非充分条件判断是否可变

    1. 样子一样的,不可变对象————>Id相同
    2. id相同 ——\——>样子一样的,不可变对象
  5. Id相同的意思是:此时这两个对象是相同的(可变对象也可以相同,当list1=list2=[1,2,3])

  6. 总结:最简单的方法

    1. 不可变(immutable):int、字符串(string)、float、(数值型number)、元组(tuple)
    2. 可变(mutable):字典型(dictionary)、列表型(list)
      1. 只有多重赋值时(list1=list2=[1,2,3]),才是同一个对象
      2. 但他们两个添加元素的方式完全不同
    3. 多重赋值,一定是相同的对象(不论是否是可变)!!!!