首页 > 其他 > 详细

垃圾回收机制

时间:2020-03-06 00:24:47      阅读:38      评论:0      收藏:0      [点我收藏+]

1 什么垃圾:

垃圾就是被引用次数为零没有意义的值,不能被访问到的就是垃圾

2 垃圾回收机制:

垃圾回收机制主要运用了“引用次数”来跟踪和回收,是python解释器自带的一种机制,专门来回收不可用的变量值所占有的内存空间

3 引用次数又分为直接引用和间接引用:

直接引用是能直接被访问到的值,直接捆绑了一个变量名

间接引用只出现在“容器类型”里面,间接引用是建立在直接引用的基础上的

技术分享图片

4 循环引用:

“容器类型”中间可能会存在循环引用,但是不建议这样使用,可能会造成引用次数无法清除的情况

技术分享图片

5 标记清除:

就是为了解决循环引用情况下引用次数无法清除的垃圾

技术分享图片

6 分代回收:

分代指的是根据存活时间来为变量划分不同等级(也就是不同的代新定义的变量,放到新生代这个等级级中,假设每隔一分钟扫描新生代一次,如果发现新生代依然被引用则不会回收),通俗一点来讲就是用来降低刷新频率,提高垃圾回收的垃圾

7 接收用户的输入:

input("请输入xxxxx"),input会将用户输入的内容都存成字符串

age = input("请输入你的年龄")    #age = 18
print(age,type(age))
age = int(age)
print(age)>16

8 格式化字符串

%号

值按照位置与%s一一对应,少一个不行对一个不行

sstr.formate

打破位置限制,按照key=value传值

9 交叉赋值

m = 10
n = 20
temp = m
m = n
n = temp
print(m,n)

10 解压赋值

对应的变量名多一个也不行少一个也不行

salaries = [111,222,333,444,555]

mon0 = salaries[0]

mon1 = salaries[1]

mon2 = salaries [2]

mon3 = salaries[3]

mon4 = salaries[4]
print(mono)
print(mon1)
print(mon2)
print(mon3)
print(mon4)
mon1,mon2,mon3,mon4 = salaries 

*—可以帮我们取两头的值,无法取中间的值

x,y,z,*_ = salaries = [111,222,333,444,555]
print(x,y,z)
#显示结果:111,222,333

?

垃圾回收机制

原文:https://www.cnblogs.com/hm666/p/12423783.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!