import sys # python解释器运行时必须加载这个库,不然无法跑起来
# demo1:
x = [] # 列表、值,
# 此时[]只被变量x记住了一次,所以这个引用计数为1
# sys.getrefcount(x),实参x传入,变量的引用计数会再+1
print(sys.getrefcount(x)) # 得到一个变量所指向对象的引用计数,为2
- notes:
- 1、变量被记住几次,加几
- 2、当作实参传入,加1
- 3、当变量不再指向之前的对象,而是指向别的对象
# 1:变量被记住几次,加几,
# 2:当作实参传入,加1
# demo2:
x = [] # 1
y = x # 2
z = x # 3
print(sys.getrefcount(x)) # 4
# 3:当变量不再指向之前的对象,而是指向别的对象
# demo3:
x = [] # 1
y = x # 2
z = x # 3
a = z # 4
print(sys.getrefcount(a)) # 5
x = 1 # 减去1
y = 2 # 减去1
print(sys.getrefcount(a)) # 3
内存管理
网友评论