2.2 内存管理
思考:python如何在内存中创建变量?
注意:存数据的目的是为了取出数据使用
2.2.1 引用计数
引用计数只针对变量值而言
name='coco' #变量值'coco'引用计数为1
name1=name #变量值'coco'的引用计数为2
del name #'coco'引用计数为1
del name1 #'coco'引用计数为0
#定义变量就是在开辟内存空间
2.2.2 垃圾回收机制
- 当变量值引用计数为0时候,python会自动回收该变量值内存的占用
print('coco')
#相当于
name='coco'
print(name)
del name
coco
coco
2.2.3 小整数池
- [-5,256]之间的整数由于经常用到,所以在python启动的那一瞬间,就会开辟一块内存空间存放这些整数。即使这些变量值的引用计数为0时,这块内存空间也不会被垃圾回收机制回收。
num=185
num1=185
print(id(num),id(num1))#id()获取内存地址
140725789147320 140725789147320
num2=257
num3=257
print(id(num2),id(num3))
2395123944336 2395123944656