| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 12. python垃圾回收机制 -> 正文阅读 |
|
[Python知识库]12. python垃圾回收机制 |
1.引用计数机制python采用的是引用计数机制为主,标记-清除和分代收集两种机制为辅的策略。
2.Python中的循环数据结构及引用计数3.Python中的GC模块---自动调用(阈值)、手动调用Python 垃圾回收机制:?Python中的垃圾回收是以引用计数为主,分代收集为辅。 导致引用计数+1的情况:
1.
对象被创建
2.
对象被引用
3.
对象被作为参数,传入到一个函数中
4.
对象作为一个元素,存储在容器中
导致引用计数-1的情况:
1.
对象的别名被显式销毁
2.
对象的别名被赋予新的对象
3.
一个对象离开它的作用域,例如f函数执行完毕时,func函数中的局部变量(全局变量不会)
4.
对象所在的容器被销毁,或从容器中删除对象
查看一个对象的引用计数:?
可以查看a对象的引用计数,但是比正常计数大1,因为调用函数的时候传入a,这会让a的引用计数+1。 内存泄漏:申请了某些内存,但是忘记了释放,那么这就造成了内存的浪费,久而久之内存就不够用了。 手动调用gc回收垃圾
有三种情况会触发垃圾回收:
1.
当gc模块的计数器达到阀值的时候,自动回收垃圾
2.
调用gc.collect(),手动回收垃圾
3.
程序退出的时候,python解释器来回收垃圾
4.Python 内存优化-----小整数池和大整数池
大整数池和小整数池的区别: 1. 从结果上看是一样的; 2. 大整数池没有提前创建好对象,是一个空池子,需要我们自己去创建,创建好之后,会把整数对象保存到池子里面,后面不需要再创建了,直接拿来使用即可; 3.小整数池是提前将【-5,256】的数据都提前创建好。 5.Python pep8规范
6.Python 命令行参数(运维、脚本)参数????????在使用python开发脚本,作为一个运维工具,或者其他工具需要接受用户参数运行时,这里就可以用到命令行传参的方式,可以给使用者提供一个比较友好的交互体验。 sys模块(1)python可以sys模块中的sys.args来获取命令行参数
(2)argv 返回命令行参数是一个列表,第一个元素就是?.py文件的文件名。如果只想获取参数不需要获取文件名,sys.argv也支持python字符串中的切片。修改代码如下:
sys.argv 只提供了比较简单的命令参数获取方式,并没有提供命令提示。无法做到像linux命令一样,可以给使用者提供help帮助。 argparse模块(1)argparse 模块可以轻松编写用户友好的命令行界面。该程序定义了它需要的参数,argparse 并将找出如何解析这些参数sys.argv。该argparse 模块还会自动生成帮助和用法消息,并在用户给出程序无效参数时发出错误
(2)添加参数选项-add argument()?
例:?? ? 可以将输出的元组中的元素分开输出 ? ? 课后练习:实现 命令行登录系统【如masql登录 mysql -u root -r 111111】?? ? 可选参数【-u 和 -r】: ????????如果给出-u ,必须给出用户名!(蓝色) ????????如果给出-r,必须给出密码!(蓝色) ????????没有给出-u和-r可以不给用户名和密码。(红色)? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 3:49:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |