参考链接: Python中的析构函数

在Python的对象中,也存在构造函数(__init__)和析构析构函数(__del__)。这里简单说一下Python的析构函数的机制。

在Python中定义下面一个类

class A:

def __init__(self):

print("initialization")

def my_print(self):

print("my_print")

def __del__(self):

print("delete")

运行时,通过下面这样的赋值:

>>>a1 = A()

initialization

>>>a2 = a1

>>>a3 = a1

在Python中,如果只对 a1 进行析构del a1,那么对象并没有被析构掉,只有将对象和引用都析构,才会调用析构函数。

>>>del a1

>>>del a2

>>>del a3 //a1 a2 a3 顺序无要求

delete

如果这里有:

>>>a1 = A()

initialization

>>>a2 = a1

>>>a3 = a1

>>>a4 = a1.my_print()

>>>>del a1

>>>del a2

>>>del a3

delete

>>>a4

>>>

这时候 a4 存在,但返回类型为 ‘NoneType’。

[转载] Python(析构函数)相关推荐

  1. 化学人学python有前途吗-转载:python之蟒开启理论计算化学的新时代

    转载:python之蟒开启理论计算化学的新时代 (2014-01-23 23:04:00) 标签: python gaussian python之蟒开启理论计算化学的新时代 就像iphone和andr ...

  2. python将汉字转为拼音字母_科学网—[转载]python中文汉字转拼音 - 陈明杰的博文...

    将汉字转为拼音.可以用于汉字注音.排序.检索(Russian translation) . 特性根据词组智能匹配最正确的拼音. 支持多音字. 简单的繁体支持, 注音支持. 支持多种不同拼音/注音风格. ...

  3. (转载)Python 应用发布技术

    (转载)Python 应用发布技术 2011年08月09日 分类: 脚本 2009-04-08 17:05 722人阅读 评论(0) 收藏 举报 1. Python 应用发布技术收集如何 将Py应用打 ...

  4. python析构函数

    参考文章: python析构函数 - Bigberg - 博客园 构造函数 用于初始化类的内容部状态,Python提供的构造函数式 __init__(),也就是当该类被实例化的时候就会执行该函数,__ ...

  5. [转载]python optionparser1

    原文地址:python optionparser1作者:afu7 Python 有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到, ...

  6. [转载]Python方法绑定——Unbound/Bound method object的一些梳理

    本篇主要总结Python中绑定方法对象(Bound method object)和未绑定方法对象(Unboud method object)的区别和联系. 主要目的是分清楚这两个极容易混淆的概念,顺便 ...

  7. [转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结

    创建列表 sample_list = ['a',1,('a','b')]Python 列表操作 sample_list = ['a','b',0,1,3]得到列表中的某一个值 value_start ...

  8. 转载 python扩展问题”unable to find vcvarsall.bat“的解决

    原文来自:http://blog.csdn.net/ren911/article/details/6448696 2011-05-26 22:53 3654人阅读 评论(3) 收藏 举报 在用C给py ...

  9. [转载]Python爬虫入门三之Urllib库的基本使用

    python爬虫系列教程http://cuiqingcai.com/1052.html 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优 ...

最新文章

  1. Android使用自定义View时:Error inflating class错误的原因。
  2. 从零开始学 Python 之运算符
  3. 表单验证的完美解决方案Validform
  4. git新建项目并push进去
  5. Hadoop推测执行(以空间换取时间)
  6. go语言查询某个值是否在数组中_go语言中的数组
  7. linux判断redis是否启动成功_redis的前生后世
  8. Java Web底层(1)
  9. 基于echarts实现非常规可视化图表
  10. 穿山甲(巨量引擎)广告接入
  11. (转)yolov3运行及保存检测视频(包括摄像头)
  12. 光模块SFP基础接口标准入门
  13. google-services简介
  14. 家用无线路由器哪个品牌好?程序员分享值得推荐的无线路由器
  15. <Linux>计算机体系结构和操作系统
  16. 什么叫单模光纤_什么叫单模光纤_单模光纤的特点是什么 - 全文
  17. Android中HorizontalScrollView的使用总结
  18. 解决虚拟机打不开Ubuntu的问题:
  19. 利用kvaser和Python编写监控界面(1)
  20. ERP分销系统有哪些优势?

热门文章

  1. 如何制作扫描版的文档
  2. mac允许安装未知来源_macOS 10.13及以上版本安装允许任何来源没了怎么开启?
  3. hql删除mysql语句_hibernate hql删除异常
  4. [leetcode]5343. 多次求和构造目标数组
  5. [leetcode]1131. 绝对值表达式的最大值 --绝对值表达式枚举拆分的方法
  6. 分治法:快排划分法(单向扫描法)
  7. Codeforces Round #366 (Div. 1):Ant Man(贪心)
  8. [Python] 绘制Python代码的函数调用关系:graphviz+pycallgraph
  9. EAST: An Efficient and Accurate Scene Text Detector
  10. quartus仿真15:全加器和半加器及如何生成符号文件