Python内存管理机制
Python内存管理机制 一.变量与对象 由于python中万物皆对象,所以python的存储问题是 对象的存储问题 ,并且对于每个对象,python会分配一块 内存空间去存储它 变量 通过 变量指针 引用对象 变量指针指向具体对象的内存空间,取对象的值 对象 类型已知 每个对象都包含一个头部信息(头部信息: 类型标识符 和 引用计数器 ) 注意: 变量名没有类型,类型属于对象(因为变量引用对象,所以类型随对象),变量引用什么类型的对象,变量就是什么类型的。 a = 123 b = a print(id(a)) print(id(b)) a = 456 print(id(a)) print(id(b)) 引用所指判断 通过is进行引用所指判断,is是用来判断两个引用所指的对象是否相同 整数: a = 1 b = 1 print(a is b) # True 短字符串: c = "good" d = "good" print(c is d) # True 长字符串: e = "very good" f = "very good" print(e is f) # False 列表: g = [] h = [] print(g is h) # False 由运行结果可知: Python 缓存了整数和短字符串 ,因此每个对象在内存中只存有一份,引用所指对象就是相同的,即使使用赋值语句