创建对象后,python解释器默认调用__init__()方法。当删除一个对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法。在python中,对于开发者来说很少会直接销毁对象(如果需要,应该使用del关键字销毁)。Python的内存管理机制能够很好的胜任这份工作。也就是说,不管是手动调用del还是由python自动回收都会触发__del__方法执行:

import time

class Animal(object):

# 初始化方法

# 创建完对象后会自动被调用

def __init__(self, name):

print('__init__方法被调用')

self.__name = name

# 析构方法

# 当对象被删除时,会自动被调用

def __del__(self):

print("__del__方法被调用")

print("%s对象马上被干掉了..."%self.__name)

# 创建对象

dog = Animal("哈皮狗")

# 删除对象

del dog

cat = Animal("波斯猫")

cat2 = cat

cat3 = cat

print("---马上 删除cat对象")

del cat

print("---马上 删除cat2对象")

del cat2

print("---马上 删除cat3对象")

del cat3

print("程序2秒钟后结束")

time.sleep(2)

python中__del__使用方法相关推荐

  1. python深度讲解_《深度剖析CPython解释器》21. Python类机制的深度解析(第五部分): 全方位介绍Python中的魔法方法,一网打尽...

    楔子 下面我们来看一下Python中的魔法方法,我们知道Python将操作符都抽象成了一个魔法方法(magic method),实例对象进行操作时,实际上会调用魔法方法.也正因为如此,numpy才得以 ...

  2. Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法

    Day09新手小白学python 第九节 Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法 目录 Day09新手小白学python 前言 一.面向对象介绍 二 ...

  3. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

  4. python使用方法-在Python中使用next()方法操作文件的教程

    next()方法当一个文件被用作迭代器,典型例子是在一个循环中被使用,next()方法被反复调用.此方法返回下一个输入行,或引发StopIteration异常EOF时被命中. 与其它文件的方法,如Re ...

  5. python中range 10 0_如何在python中使用range方法

    如何在python中使用range方法 发布时间:2021-01-05 16:55:23 来源:亿速云 阅读:94 作者:Leah 如何在python中使用range方法?很多新手对此不是很清楚,为了 ...

  6. Python中sys.argv方法的一些典型用法

    本文整理汇总了Python中sys.argv方法的典型用法代码示例. 示例1: weather_icons # 需要导入模块: import sys [as 别名] # 或者: from sys im ...

  7. python中函数和方法的区别

    本篇内容主要介绍从几个维度来介绍下python中函数和方法的区别: 首先,从分类的角度来分析. (1)函数的分类: 内置函数:python内嵌的一些函数. 匿名函数:一行代码实现一个函数功能. 递归函 ...

  8. python脚本怎么使用_在Python中使用next()方法操作文件的教程

    next()方法当一个文件被用作迭代器,典型例子是在一个循环中被使用,next()方法被反复调用.此方法返回下一个输入行,或引发StopIteration异常EOF时被命中. 与其它文件的方法,如Re ...

  9. Python 中的特殊方法(定制类):__str__、__cmp__、__len__、数学运算、类型转换、@property运用、__slots__和__call__函数

    Python中的特殊方法 Python的特殊方法定义在 class中,不需要直接进行显示调用,Python的某些操作符或者函数会自动调用对应的特殊方法.这些方法如:__str__().__len__( ...

最新文章

  1. var s=+newDate();
  2. Ruby on Rails入门(2.1)
  3. pythonnamedtuple定义类型_详解Python中namedtuple的使用
  4. 主键索引 or 辅助索引?一文告诉你 Mysql limit 优化时的索引选择!
  5. RAID及LVM,iscsi
  6. if else 的个小案例~
  7. jest (让人愉悦的测试框架)
  8. 理解RESTful架构(转)
  9. 飞控信号SBUS信号解析为PWM信号输出
  10. [产品经理]产品管理的工作流程
  11. 天猫八大策略人群京东十大靶向人群简介
  12. wps制作可以打钩或取消打钩的正方框
  13. linux清除ip地址命令,ip 命令 和ifconfig 命令 删除IP
  14. python爬虫爬网页源码保存到本地_python爬虫网页图片并保存到本地
  15. python -- 拉勾网爬虫模拟登录
  16. tp路由服务器无响应,路由器无法PPPOE链接上网老显示服务器无响应
  17. AI作诗:诗三百·人工智能诗歌写作平台
  18. python高考加分_Python将纳入浙江省新高考,你知道了吗?
  19. 大数据云计算技术概述_云计算–概述,类型,优势和未来范围
  20. MySQL之——函数

热门文章

  1. C#面试题整理(不带答案)
  2. Oracle 游标使用全解(摘抄)
  3. textract安装使用
  4. android中给TextView或者Button的文字添加阴影效果
  5. Linux 系统下载网址
  6. Activity的缓存方法
  7. 二分法查找(C/C++)
  8. 没有mmu可以跑Linux吗?
  9. 自己都不觉得自己值钱,别人怎么觉得你值钱?
  10. Linux C高级编程——文件操作之系统调用