python基础扩展

Posted 风亦缘^_^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础扩展相关的知识,希望对你有一定的参考价值。

一.垃圾回收机制

垃圾回收机制是自动帮助我们管理内存,清理垃圾的一种工具

1.引用计数

当一个对象的引用被创建或者复制时,对象的引用计数加1;
当一个对象的引用被销毁时,对象的引用计数减1;
当对象的引用计数减少为0时,就意味着对象已经没有被任何人使用了,可以将其所占用的内存释放了。

优点:
简单、直观
实时性,只要没有了引用就释放资源。
缺点:
维护引用计数需要消耗一定的资源
循环应用时,无法回收。也正是因为这个原因,才需要通过标记-清理和分代收集机制来辅助引用计数机制。

2.标记-清除

“标记-清除”不改动真实的引用计数,而是将
集合中对象的引用计数复制一份副本,改动该对象引用的副本。对于副
本做任何的改动,都不会影响到对象生命走起的维护。

3.分代回收

将系统中的所有内存块根据其存活时间划分为不同的集合,
每一个集合就成为一个“代”,垃圾收集的频率随着“代”的存活时间的增大而减小。
也就是说,活得越长的对象,就越不可能是垃圾,就应该减少对它的垃圾收集频率。
那么如何来衡量这个存活时间:通常是利用几次垃圾收集动作来衡量,
如果一个对象经过的垃圾收集次数越多,可以得出:该对象存活时间就越长。

二.驻留机制

对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享该副 
本。长字符串不遵守驻留机制。

驻留适用范围: 由数字,字符和下划线(_)组成的python标识符以及整数[-5,256]。 

以上是关于python基础扩展的主要内容,如果未能解决你的问题,请参考以下文章

Python基础-封装与扩展静态方法和类方法

2021年了,Python开发者不容错过的7个VS Code扩展

getSupportFragmentManager() 在活动扩展片段中未定义

python基础:python扩展包的安装方式

Python学习笔记1(基础语法)

Python面向对象学习之八,装饰器