python笔记007--内存管理
来源:互联网 发布:商家给淘宝消费积分 编辑:程序博客网 时间:2024/05/28 19:24
- 变量无须事先声明
- 变量无须指定类型
- 程序员不用关心内存管理
- 变量名会被“回收”
- del语句能够直接释放资源
一、变量定义
变量在第一次被赋值时自动声明,变量只有在被创建和赋值后才能被使用
二、动态类型
类型无需声明
创建(赋值)时,解释器会根据语法和右侧的操作数来决定新对象的类型
三、内存分配
python解释器承担了内存管理的复杂任务
四、引用计数
引用计数器:一个内部跟踪变量
引用计数:每个对象各有多少个引用
1、增加引用计数
当对象被创建并(将其引用)赋值给变量时,该对象的引用计数就被置为1.
增加途径:
①对象被创建 x = 3.14
②另外的别名被创建 y = x
③被作为参数传递给函数(新的本地引用) foobar(x)
④成为容器对象的一个元素 myList = [123,x,'xyz']
2、减少引用计数
当对象的引用被销毁时,引用计数会减少。
减少途径:
①一个本地引用离开的其作用范围 foobar()函数结束时
②对象的别名被显式销毁 del y # or del x
③对象的一个别名被赋值给其他对象 x = 123
④对象被从一个窗口对象中移除 myList.remove(x)
⑤窗口对象本身被销毁 del myList # or goes out-of-scope
3、del语句
del语句会删除对象的一个引用
语法:del obj1[,obj2[,...objN] ]
五、垃圾收集
不再使用的内存会被垃圾收集机制释放。
垃圾收集器是一块独立代码。是一个引用计数器和一个循环垃圾收集器。
阅读全文
0 0
- python笔记007--内存管理
- python内存管理
- Python的内存管理
- python 内存管理
- Python的内存管理
- python 的内存管理
- Python的内存管理
- Python的内存管理
- Python 的内存管理
- Python的内存管理
- Python内存管理
- python的内存管理
- Python的内存管理
- python 内存管理
- Python的内存管理
- Python的内存管理
- python的内存管理
- python的内存管理
- spark中可以影响到结果partition个数的操作
- 网页爬虫小程序
- 习题3.1
- linux top命令查看内存及多核CPU的使用讲述
- 二叉树节点间的最大距离问题
- python笔记007--内存管理
- python 使用sys.stdin和fileinput读入标准输入
- c语言学习笔记-作业-素数
- data
- Python Imaging Library: ImageSequence Module(图像序列模块)
- JNI so库加载流程之System.loadLibrary流程分析
- 1001. 害死人不偿命的(3n+1)猜想 (15)C语言
- centos系统图形界面和命令行模式切换
- AIDL的基本使用