栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

垃圾回收机制与命令行参数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

垃圾回收机制与命令行参数

本节知识点:引用计数机制;python中的循环数据结构以及引用技术;python中的GC模块;python内存优化;python pep8规范 ;python命令行参数

一:引用计数机制:

概念:是一中垃圾收集机制,python中采用技术机制为主,标记-清除和分带收集二种机制为辅的策略

引用计数:

优点:1.简单;2.实时性:一旦没有引用,内存就直接释放了。不用像其他机制需要等到待定时机;处理回收内存的时候时间分摊到了平时

缺点:维护引用计数会消耗资源;循环引用的时候无法自动回收

二:GC模块

GC负责的主要任务:1.为新生成的对象分配内存  2.识别那些垃圾对象  3.从垃圾机制对象那回收内存

内存泄漏:

概念:申请了某些内存,但是忘记释放。造成内存浪费

标记清除和分代收集:

背景:引用计数会在循环引用时导致内存泄漏,所以产生了新的回收机制

标记清除:首先标记对象(垃圾检测),然后清楚对象(垃圾回收)

循环引用时,并不会触发引用计数的机制的案列

手动调用gc垃圾回收:

有三种情况会触发垃圾回收:

1.当gc模块的计数器达到阀值的时候,自动回收垃圾

2.调用gc.collect(),手动回收垃圾

3.程序退出的时候,python解释器来回收垃圾

三:python内存优化

小整数与大整数对象池:python为了优化速度,使用了小整数对象池,避免为了整数频繁的申请销毁内存空间。

python对小整数池的定义是【-5,256】这些整数对象是提前建立好的,不会被垃圾回收

 大整数池和小整数池的区别:

1.从结果来看是一样的

2.大整数池是没有提前创建好对象,是个空池子,需要我们自己去创建,创建好之后,会把整数对象保存到池子里面,后面都不需要在创建了,直接使用

3.小整数池是提前将【-5,256】的数据提前创建好了

四:python pep8规范

pep8原则:代码布局;缩进;行宽;空行;源文件编码;模块的导入(from xx import xx;from xx imoort *;importxx);注释;命名规范

五:命令行参数-sys模块

在使用python开发脚本,作为一个运维工具,或者其他工具需要接受用户参数运行时,就可以用到命令行传参的方式

调用方式:终端输入指令--python 文件名.py 

 argv返回命令行参数是一个列表,第一元素的.py的文件名。如不需要第一个参数则切片

命令行参数-argparse模块

该模块可以轻松编写用户的命令行界面,该程序定于了它需要的参数,argparse并将找出如何分析这些参数sys.argv

add_argument添加参数选项:

metaver:帮助信息中显示参数名称

const:保存一个常量

default:默认值

typs:参数类型,默认是str

choices:设置参数值的范围

required:该选项是否必选,默认为True

 默认与选择参数:

 练习:实现命令行登录系统【如mysql登录  mysql-u-root-r 123456】

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1002215.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号