"""
析构方法:
释放内存,做释放内存前的准备工作触发机制:析构方法会在对象被销毁时自动触发
作用:关闭一些开发的资源
注意:是对象被销毁时触发了这个方法,而不是这个方法销毁了对象对象会在哪些情况下被销毁?
1.当程序执行完毕,内存中的所有资源都会被销毁释放
2.使用del 删除时
3.对象不再被引用时,会自动销毁创建实例对象时自动被调用:
__new__:创建实例对象
Animal monkey = new Animal()
__init__:初始化数据属性
__del__:析构方法
"""
class Animal:"""初始化数据属性的方法"""def __init__(self,gender,kinds,legs):print("初始化方法被调用")self.gender = genderself.kinds = kindsself.legs = legsdef eat(self):print(f"{self.kinds}eating...")def __del__(self):print("析构方法被调用")monkey = Animal("wukongSun","猴赛类",4)
monkey.eat()#3.对象不再被引用时,会自动销毁
Animal("haha","gg",6)
print("析构方法被调用,,,,")
"""
open().close()
通过open().close(),释放open函数的内存
"""
class Open:def __init__(self,filePath,mode="r",encode="utf-8"):self.file = open(filePath,mode=mode,encoding=encode)def write(self):temp = input("请输入:")self.file.write(temp)def __del__(self):print("文件流即将关闭,析构方法被调用")self.file.close()
#创建了一个实例对象(文件流file)
file = Open("a.txt","w")
file.write()
class Car:def __init__(self,brand):self.brand = brandprint(f"{self.brand}被创建")def __del__(self):print(f"{self.brand}被销毁")#1.实例化后调用和销毁的顺序
# baoma = Car("宝马")
# lanbojini = Car("兰博基尼")
# falali = Car("法拉利")"""
宝马被创建
兰博基尼被创建
法拉利被创建
宝马被销毁
兰博基尼被销毁
法拉利被销毁"""
#1.实例化后没有被调用和销毁的顺序
Car("宝马")
Car("兰博基尼")
Car("法拉利")"""
宝马被创建
宝马被销毁
兰博基尼被创建
兰博基尼被销毁
法拉利被创建
法拉利被销毁"""

Python之析构方法相关推荐

  1. python 面向对象 析构方法

    实例化但从来没有调用他,就浪费了,就应该自动删除它 这个实例一直存在内存里 python有个垃圾自动回收机制 , 每段时间会自动刷新整个内存,把内存垃圾东西删除 析构函数: 在实例释放.销毁的时候自动 ...

  2. python之析构方法、item系列、hash方法、eq方法

    1.析构方法:释放一个空间之前执行 (new构造方法  申请一个空间) 某对象借用了操作系统的资源,还要通过析构方法归还回去 : 文件资源  网络资源 1)垃圾回收机制 class A:def __d ...

  3. python中构造方法和析构方法的区别_基于Python构造方法与析构方法的研究

    基于 Python 构造方法与析构方法的研究 林观德 [期刊名称] < <现代职业教育> > [年 ( 卷 ), 期] 2019(000)018 [摘要] Python 语言是 ...

  4. 第8.18节 Python类中内置析构方法__del__

    一. 引言 基本上所有支持OOP设计的语言都支持析构方法(也称析构函数),析构方法都是在对象生命周期结束时调用,一般用来实施实例相关生命周期内访问数据的扫尾工作,包括关闭文件.释放内存.输出日志.清理 ...

  5. python六十二: 析构方法

    析构方法:当对象在内存中被释放时,自动触发执行. ps:此方法一般无须定义,因为python是一门高级语言,程序员在使用时无需关心内存的分配和释放,因此此工作都是交给python解释器来执行,所以,析 ...

  6. python垃圾回收 采用方式_python-面向对象-10-__del__析构方法/垃圾回收机制

    Python语言自带垃圾回收机制,为了能够比较清楚说明白Python的垃圾回收机制的原理,我们今天就从最底层的解释器开始,采用由内到外的方式来说明. 1.Python默认解释器CPython Pyth ...

  7. Python面向对象程序设计中对象析构方法的调用时机

    开学第一课:一定不要这样问老师Python问题 中国大学MOOC"Python程序设计基础"第6次开课时间 董付国老师Python系列教材推荐与选用参考 ============= ...

  8. python中构造方法和析构方法的区别_类的构造方法、析构方法、实例方法

    类的构造方法.析构方法.实例方法 上一个小节我们学习了 Python 的类属性和实例属性的知识点,这个小节我们还是会学习关于类的知识.这节课我们会学习类的构造方法.析构方法和实例方法. 1. 实例方法 ...

  9. 详细讲解python中的析构方法;

    概述 定义 例子 一. 这时程序结束,释放内存空间 二.当在程序下方添加 一段话程序没有结束 可以发现析构方法并没有执行. 当在 程序等待中-之后输入一段数字再回车; 程序结束.内存释放. 三.对象被 ...

最新文章

  1. Java中一个令人惊讶的bug
  2. 国内外有哪些漏洞信息发布平台?
  3. SAP WM 业务部门Unplanned工单消耗导致WM层面单据异常问题之分析
  4. MS SQL SERVER2005 分页存储过程
  5. AJAXA进行分页(2)
  6. gulp html页面路径,配置gulp前端开发环境
  7. Android日期分组,按查询分组在列表视图android中显示一些意...
  8. css3动画-animation
  9. css设置不允许复制文本内容
  10. TCP/IP:IP多播选路
  11. 白左机器人_乔治高中 - George School | FindingSchool
  12. layui table数据修改的回显
  13. 阿里巴巴集团CEO张勇和校招生面对面,畅聊阿里的技术路线
  14. comsol服务器的性能如何,COMSOL Server
  15. 思科 计算机网络 期末考试答案
  16. 我遇到的PPT文件不能编辑的情况以及如何解决
  17. direction和unicode-bidi
  18. java基于Springboot+vue的球鞋销售商城网站 elementui
  19. 商品货架管理(愿疫情早日消散,大家去见想见的人)
  20. 校园二手交易系统,二手交易网站,闲置物品交易系统毕业设计作品

热门文章

  1. 利用simsimi小黄鸡接口,做一个微信公共账号上的机器人
  2. 【Android】android Fragment的使用
  3. MFC:MessageBox函数随记
  4. javascript UniqueID属性
  5. Python项目:飞机大战
  6. ZED Connection -> CAMERA DETECTION ISSUE
  7. Linux 下HAproxy 安装详解
  8. 全球法律文件起草软件行业调研及趋势分析报告
  9. c++编译 (.obj, .lib, .dll, .exe的关系(附:lib和DLL的区别))
  10. xcode5真机调试教程 xcode5真机测试步骤