构造函数与析构函数

构造函数:

用于初始化类的内容部状态,Python提供的构造函数式 __init__();
也就是当该类被实例化的时候就会执行该函数。那么我们就可以把要先初始化的属性放到这个函数里面。如下程序:

class Test(object):def __init__(self):print("AAAAAA")def __del__(self):print("BBBBBB")def my(self):print("CCCCCC")obj = Test()
print("*" * 30)
obj.my()
print("*" * 30)
del obj

执行结果:

AAAAAA
******************************
CCCCCC
******************************
BBBBBB

__init__()方法是可选的,如果不提供,Python 会给出默认的 __init__()方法
一般数据的获取需要定义的get和set方法

析构函数:

上图中的“__del__”就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调用完毕,在跳出其作用域的同时析构函数也会被调用一次,这样可以用来释放内存空间。

__del__()也是可选的,如果不提供,则Python 会在后台提供默认析构函数,如果要显式的调用析构函数,可以使用del关键字,使用方法:del 对象名

垃圾回收机制

Python 采用垃圾回收机制来清理不再使用的对象;Python 提供gc模块释放
不再使用的对象,Python 采用‘引用计数’ 的算法方式来处理回收,
即:当某个对象在其作用域内不再被其他对象引用的时候,Python 就自动清除对象;
Python 的函数collect()可以一次性收集所有待处理的对象(gc.collect())

Python构造函数与析构函数相关推荐

  1. Python:构造函数和析构函数

    python中的特殊方法,其中两个,构造函数和析构函数的作用: 比说"__ init__"这个构造函数,具有初始化的作用,也就是当该类被实例化的时候就会执行该函数.那么我们就可以把 ...

  2. python在删除对象时会自动调用析构函数_Python面向对象程序设计构造函数和析构函数用法分析...

    本文实例讲述了Python面向对象程序设计构造函数和析构函数用法.分享给大家供大家参考,具体如下: 构造函数和析构函数 1.构造方法的使用 很多类都倾向于将对象创建为有初始化状态.因此类可以定义一个名 ...

  3. python中的构造函数和构造函数和析构函数的作用

    构造函数和构造函数和析构函数都属于python中的特殊方法 其中的"__del__"就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调 ...

  4. python类构造方法缺省_浅谈python3 构造函数和析构函数

    要点: 1.魔法方法,被__双下划线所包围 在适当的时候自动被调用 2.在创建一个对象的时候,一定会调用构造函数 3. del析构函数,在del a对象的时候,并一定会调用该析构函数 只有当该对象的引 ...

  5. 简述Python中的构造函数和析构函数

    概述: Python中,构造函数(constructor)和析构函数(destructor)同为类中默认存在的无初始内容函数(可写入内容),且都在会在对对象执行操作时调用. 不同的是构造函数在创建对象 ...

  6. Python 学习笔记 系统模块 面对对象思想 类和对象 类中的方法与对象 构造函数和析构函数

    一.系统模块: UTC:国际标准时间, 格林尼治天文时间,UTC+8 时间戳:指定时间距离1970.1.1 00:00:00的秒数 time:时间 datetime:日期 calendar:万年历 o ...

  7. C++ 笔记(17)— 类和对象(构造函数、析构函数、拷贝构造函数)

    1. 构造函数 构造函数是一种特殊的函数(方法),在根据类创建对象时被调用.构造函数是一种随着对象创建而自动被调用的函数,它的主要用途是为对象作初始化. 构造函数的名称与类的名称是完全相同的,并且不会 ...

  8. 拷贝构造函数、析构函数、赋值操作符重载、取地址操作符重载和const修饰的取地址操作符重载...

    2019独角兽企业重金招聘Python工程师标准>>> 在我们学习C++的过程中,我们难免会遇到类,在类中有6个默认的函数,它们分别为:构造函数.拷贝构造函数.析构函数.赋值操作符重 ...

  9. C++之保护和私有构造函数与析构函数

    2019独角兽企业重金招聘Python工程师标准>>> 一.构造函数 1.保护 构造函数定义为protected后,就意味着你不能在类的外部构造对象了,而只能在外部构造该类的子类的对 ...

最新文章

  1. 生物信息3天速成班—成为团队中不可或缺的人
  2. 从零开始学习Sencha Touch MVC应用之八
  3. 移动端html模板卡片列表效果,移动手机Material Design风格信息卡片UI设计
  4. 【练习】c++删除链表倒数第K个结点和 插入排序算法将单链表递增排序
  5. NDoc修改版,支持中文注释及中文界面。
  6. math python 向上取整_Python成为专业人士笔记-各数学运算操作深度剖析
  7. dedecms 在模板里引入php文件夹,dedecms如何添加并引入php文件
  8. jsTree插件简介(三)
  9. 抖音音乐品牌升级 推出“炙热星河”音乐人服务平台
  10. 小学生c语言入门教程,啊哈C语言(小学生坐在马桶上都能看懂C语言入门教程).pdf...
  11. OSChina 周二乱弹 ——流川枫与苍井空
  12. 使用Python抓取google街景照片
  13. 蔡学镛:KPI心理学
  14. 阿里P6、P7、P8、级别需要多少年的工作经验,还是因能力而定?
  15. UVa12235 Help Bubu
  16. IBC和电信管理论坛将在数字转型世界峰会上进行媒体-电信融合项目演示
  17. 计算机专业需不需要英语翻译,谈计算机专业英语翻译的方法.doc
  18. java clh_CLH锁学习
  19. OpenMV自学笔记
  20. 成就更好的自己,就是不停地做减法

热门文章

  1. java 区分中英文,Java 区分文本中的中英文字符函数
  2. SQL SERVER查询区分大小写
  3. Docker 版本及内核兼容性选择
  4. 88e6321/88e6320 寄存器配置
  5. kubernete入门学习一
  6. 解决windows系统下8080端口被占用
  7. 德川家康之三:天下布武
  8. vc++l调用64位的mysql_VC++2010配置使用MySQL5.6
  9. JavaSE:第十二章:IO流
  10. linux卸载docker教程