python的引用计数分析(二)
Python 分析 引用 计数
2023-09-11 14:14:08 时间
python所有对象引用计数被减少1的情况:
一.对象的别名被赋予新的对象;
a = 23345455 # 增加了一个引用 b = a # 增加了一个引用 print(sys.getrefcount(a)) b = 1.4 # 减少了一个23345455整数的引用 print(sys.getrefcount(a))
结果:3;2
二.对象的别名被显式销毁;
a = 23345455 # 增加了一个引用 b = a # 增加了一个引用 list = [a, b] # 增加了2个引用 del a print(sys.getrefcount(b))
结果:4
说明:直接使用del关键字或者del()函数;注意:上述代码手动销毁的是被赋值引用的a,但是在列表里的a不会被销毁。
三.一个对象离开它的作用域;
a = 23345455 # 增加了一个引用 b = a # 增加了一个引用 print(sys.getrefcount(a)) # 执行完毕后引用销毁 print(sys.getrefcount(a))
结果:3;3
说明:a作为参数传递到sys.getrefcount(a)函数中,只在函数中起作用,一旦执行完毕就会销毁。
四.对象所在的容器被销毁,或从容器中删除对象;
# 增加了一个引用 a = 23345455 # 增加了一个引用 b = a list = [a, b] # 增加了2个引用 del list print(sys.getrefcount(b))
结果:3
所有的引用计数加一的情况: python的引用计数分析(一)
相关文章
- Python脚本调用C#代码数据交互示例(hello world)
- python主动抛出异常和自定义异常
- 【python】常用第三方模块
- Python 爬取淘宝商品数据挖掘分析实战
- go和python互调
- 使用 Python 对股票参数进行特征重要性分析
- 学Python要先学什么?Python入门方法
- Python:python语言中与时间有关的库函数简介、安装、使用方法(获取当前时间/计算程序块前后运行时间/模型训练时间或耗费时间)之详细攻略
- Python语言学习之文件夹那些事:python和文件夹的使用方法之详细攻略
- 成功解决python编程时调用webbrowser.open函数不能自动打开浏览器的网页
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- 基于电动汽车的带时间窗的路径优化(Python&Matlab代码实现)
- 送小公主——哆啦A梦(Python代码实现)
- 时间序列分析中最值得推荐的10个 Python 库
- Python实现SSA智能麻雀搜索算法优化支持向量机回归模型(SVR算法)项目实战
- 【LeetCode Python实现】34. 在排序数组中查找元素的第一个和最后一个位置(中等)
- 【LeetCode Python实现】673. 最长递增子序列的个数(中等)
- Python编程:将Flask项目部署到免费服务器Heroku
- Python编程:demjson解析不规范的json字符串
- Python 23种设计模式全(python例子)
- python实战===2017年30个惊艳的Python开源项目 (转)
- Python 高级编程之面向对象(一)