python对象容器和回收的详解
python对象容器和回收的详解
1、对象容器
有些对象包含对其他对象的引用,这些对象称为容器对象容器,如元组、列表和字典。很多时候,我们说容器的值,是指被引用对象的值,而不是引用编号。然而,在讨论容器可变性时,它仅指直接包含在容器中的参考号。例如,元组是不可变的。如果它包含对可变对象的引用,当可变对象改变时,容器的值将改变。
2、对象回收
对象不会被显式销毁,但它们将被视为垃圾回收。只要没有对象引用,这就是Python垃圾收集机制!垃圾收集机制比较复杂,比如循环引用,其实并没有用到,但是还是有引用的,涉及算法规则。写完PythonAdvanced,在写Python原理的时候做进一步的研究。
Python垃圾收集机制不是万灵药,不能解决所有问题。所以在引用外部资源后,比如打开文件,需要注意显式关闭,防止资源总是占用内存而无法释放,造成内存泄漏。关闭除了手动调用Close()方法外,还可以使用与来自动关闭。
使用try...除了可以保持物体活动。
以上就是python对象容器和回收的详解,希望能对大家有所帮助,更多Python学习教程请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>Python的缩进规则
和其它程序设计语言(如Java、C语言)采用大括号“{}”分隔代码块不同,Python采用代码缩进和冒号(:)来区分代码块之间的层次。在Python中,对于类...详情>>
2023-11-11 23:15:31python五大异常处理机制
我们明白了什么是异常后,那么发现异常后怎么处理,便是我们接下来要解决的问题。这里将处理异常的方式总结为五种。1、默认异常处理机制“...详情>>
2023-11-11 22:02:33python中any函数如何使用?
python中any函数如何使用?在python中,如果想要判断一个tuple或者list是否全部为空、0、False,可以使用any函数。使用any函数,当全为空、0、Fa...详情>>
2023-11-11 15:18:19Python的信号库Blinker有何用法?
python的信号库Blinker有何用法?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。作为一个信号库,使用时候是支持一对一以及一对多...详情>>
2023-11-11 14:18:20