可变类型(mutable):变量进行append、+=等这种操作后 == 改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。

  • list
  • dict
  • set
  • bytearray
  • user-defined classes (除非是特别定义的不可变)
a = [,]
b = [,]
print(id(a))
print(id(b))

不可变类型(immutable):改变了变量的值 == 新建了一个对象,而对于相同的值的对象,在内存中则只有一个对象(一个地址), python的id() 方法让你明白

  • int
  • float
  • decimal
  • complex
  • bool
  • string
  • tuple
  • range
  • frozenset
  • bytes

例子

a =
b =
print(id(a))
print(id(b)) # mem addr is same with a
a =
print(id(a)) boolx = True
print(id(boolx))
boolx = False
print(id(boolx))

输出


[Program finished]

最新文章

  1. myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)
  2. Solr5.5.1 IK中文分词配置与使用
  3. Swift 基本常量和变量,基本数据类型
  4. Python使用struct处理二进制
  5. XmlDocument解析Soap格式文件案例:
  6. postgresql+slony-i安装配置主从
  7. JDK7学习笔记之基础类型
  8. shelve模块理解
  9. 更改Windows控制台默认缓冲区行数和宽度
  10. Hark的数据结构与算法练习之桶排序
  11. JavaScript中字符串转Json方法小记
  12. ArcGIS 开发的一些知识学习点
  13. Sereja and Suffixes(思维)
  14. css新属性box-sizing应用
  15. Mysql数据库导出数据字典文档Word或者HTML的3个工具
  16. 利用USearch去除嵌合体(chimeras)
  17. 0 vs工程添加sdk
  18. Topological Sorting拓扑排序
  19. 什么是LTE?
  20. tomcat7 配置 https安全访问

热门文章

  1. openfeign与gateway中的httpClient类声明冲突
  2. 3_PHP表达式_4_PHP运算符
  3. python之爬取小说
  4. 五、eureka客户端自动配置
  5. MacOS X GateKeeper Bypass
  6. springboot学习入门简易版二---springboot2.0项目创建
  7. 【Java】接口和抽象类总结
  8. mysql主从部署
  9. Dism++备份还原系统
  10. C++——虚函数表解析