python垃圾回收机制
当引用计数为0时,python会删除这个值。
引用计数
x = 10
y = x
del x
print(y)
10
引用计数+1,引用计数+1,引用计数-1,此时引用计数为1,当引用计数为0时,python删除这个值。
小整数池
x= 10
y= 10
print (id(x))
print (id(y))
a=257
b=257
print (id(a))
print (id(b))
1732079360
1732079360
1353104336912
1353104337072
小整数池:当python打开时,会自动开辟一块内存空间即小整数池。存放[-5,256]之间的整数。下次使用里面的整数时直接使用,不需要开辟新空间。
定义变量的三个特征
变量值,变量值ID(内存地址),数据类型
x = 10
print(x) # 变量值
10
y = 10
print(id(y)) # 变量值ID,即内存地址
1732079360
z = 10.1
print(type(z)) # 数据类型
<class 'float'>
m = 'tom and jerry'
print(type(m))
<class 'str'>
变量比较
判断变量值是否相等
x = 10
y = 10
print(x == y)
True
判断ID地址是否相同
a = 100
b = 100
c = 257
d = 257
print (a is b)
print (c is d)
True
False
m = 'nick is handsome'
n = 'nick is handsome'
print (m is n)
False
- ID相同的变量,他们的值一定相同,但是值相同的变量,ID不一定相同。