python 对象的销毁_销毁类python的对象
可以这样想:你要求一个类使用一个内部方法进行自毁,这有点像是试图吃掉自己的嘴。
如果在销毁实例时需要执行特定的操作,则仍然可以重写
__del__()
哪个会呢
有点
像个毁灭者。这里有一个愚蠢的例子:
class SelfDestruct:
def __init__(self):
print("Hi! I'm being instanciated!")
def __del__(self):
print("I'm being automatically destroyed. Goodbye!")
def do_stuff(self):
print("I'm doing some stuff...")
现在,尝试在本地作用域(例如函数)中实例化该类:
def make_a_suicidal_class():
my_suicidal_class = SelfDestruct()
for i in range(5):
my_suicidal_class.do_stuff()
return None
在这里,对象的寿命受函数的约束。这意味着一旦通话结束,它就会自动销毁。因此,输出应如下所示:
>>> make_suicidal_class()
"Hi! I'm being instanciated!"
"I'm doing some stuff..."
"I'm doing some stuff..."
"I'm doing some stuff..."
"I'm doing some stuff..."
"I'm doing some stuff..."
"I'm being automatically destroyed. Goodbye!"
>>>
另外,应该注意,手动调用
__删除()
析构函数实际上并不销毁对象。这样做:
foo = SelfDestruct()
foo.__del__()
foo.do_stuff()
结果如下:
"Hi! I'm being instanciated!"
"I'm being automatically destroyed. Goodbye!"
"I'm doing some stuff..."
因此
,实例还有脉搏。。。如果确实需要防止实例在当前作用域中再次被引用,则必须调用
del foo
这样做。
德尔福
不会从内存中释放它。
“del x”不直接叫x。
()—前者将x的引用计数减少一,后者仅在x的引用计数为零时调用。
python 对象的销毁_销毁类python的对象相关推荐
- python 读取内存二叉树_二叉树类python
python中的树数据结构 线性数据中的典型顺序表和链表已经讲完: <顺序表数据结构在python中的应用> <python实现单向链表数据结构及其基本方法> <pyth ...
- python 入门到实践期末考试常出现的考试内容_测试类——python编程从入门到实践...
1.各种断言方法 常用断言方法: 方法 用途 assertEqual(a, b) 核实a == b assertNotEqual(a, b) 核实a != b assertTrue(x) 核实x为Tr ...
- python tutorial是什么意思_方法类Python Tutorial(九):类 方法类
题记:写这篇博客要主是加深自己对方法类的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 与其它编程语言比相,Python的类机制加添了最小的新法语和语义.它是C++和Modula- ...
- python如何使用多态_如何在Python中为类应用多态?
介绍 多态性是为不同的底层形式(如数据类型或类)使用相同的界面的能力. 这允许功能在不同时间使用不同类型的实体. 对于Python中的面向对象编程,这意味着属于特定类的特定对象可以以与属于不同类的不同 ...
- python json删除字段_如何使用python删除json对象?
我正在使用python删除和更新一个由用户提供的数据生成的JSON文件,这样数据库中只存储很少的项目.我想从JSON文件中删除一个特定的对象. 我的JSON文件是: [ { "ename&q ...
- 用python计算复利计算器_第一章 Python简介
全览: Python的大部分基本特性:如变量.表达式.控制流.函数.生成器.类和输入\输出: Python3和Python2.6的区别:大多数与打印和I/O有关: ------------------ ...
- python包括哪些部分_第一部分 Python基础篇
第⼀一部分 Python基础篇 1. 为什什么学习Python? 朋友推荐,比较简单易学,生态圈比较强大 发展趋势:人工智能.数据分析 2. 通过什什么途径学习的Python? 廖雪峰.网络博客.相关 ...
- python基于值得内存_为什么说Python采用的是基于值的内存管理模式
匿名用户 1级 2018-01-31 回答 先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲 (1)垃圾回收 (2)引用计数 (3)内存池机制 一.垃圾回收: python不像C++, ...
- 如何用python进行相关性分析_如何利用python进行时间序列分析
题记:毕业一年多天天coding,好久没写paper了.在这动荡的日子里,也希望写点东西让自己静一静.恰好前段时间用python做了一点时间序列方面的东西,有一丁点心得体会想和大家分享下.在此也要特别 ...
- python减小内存占用_如何将Python内存占用缩小20倍?
当程序执行过程中RAM中有大量对象处于活动状态时,可能会出现内存问题,特别是在对可用内存总量有限制的情况下. 下面概述了一些减小对象大小的方法,这些方法可以显著减少纯Python程序所需的RAM数量. ...
最新文章
- linux 5.8 yum源,Centos5.8 |linux yum源不能用报404错误
- NR 5G AMF重定向的注册流程
- Mac下通过homebrew安装maven
- 当年只会C# 所以写C++就成这样了! log4cplus - log4net
- linux ubuntu16.04 编译opencv教程(没编过,有时间再弄,推流不用opencv也行的)
- finally块的问题(finally block does not complete normally) (转)
- selenium webdriver 启动三大浏览器Firefox,Chrome,IE
- Java怎么跑不起来_tarsJava example 跑不起来
- python新手入门代码-[代码全屏查看]-新手初学Python实现某论坛自动签到功能
- CSMA/CD 和802.5令牌环网
- JDK10 新特性详解
- 来自一个曾经200斤现在140斤程序员的减肥成功经验(包含个人认为相对安全的饮食法推荐)
- 全球及中国飞行时间传感器芯片行业研究及十四五规划分析报告
- c++基础复习(2)
- 计算机专业人才培养评价意见,谈高职计算机专业人才培养综合评价.pdf
- AI一分钟 | 苹果在自动驾驶领域苦追谷歌,测试车增至27辆;比尔盖茨:AI代替人类工作是件好事
- 机械臂速成小指南(零):指南主要内容及分析方法
- 【蓝桥杯】Python字符串处理和应用
- Oracle-SQL中日期加减一年的写法
- 20分 html文件是,HTML语言试卷(A)