这是关于Python里比较难得一个函数,甚至于章节不多,但是讲的内容却很多很多,大家对部分内容不知道有没有过了解——面向对象,而在这里主要用到的函数就是del,大家如果不知道的话,可以跟随小编一起来看下啦~另外,小编还给大家准备了一些特殊的用法,方便大家在遇到时候,有一定的认知。

1.引用计数和对象销毁

对于简单对象,当执行删除对象的操作时会调用__del__()方法。

对于包含循环引用的复杂对象,引用计数器有可能永远也不会归零,这样就很难让__del__()方法被调用。

我们用下面的一个类来看看这个过程中到底发生了什么。class Noisy:   def __del__( self ):     print( "Removing {0}".format(id(self)) )

我们可以像下面这样创建和删除这个对象。>>> x= Noisy() >>>del x Removing 4313946640

一旦变量被删除,就没有任何地方引用Noisy实例,所以它也可以被清除。

>>> ln = [ Noisy(), Noisy() ] >>> ln2= ln[:] >>> del ln

2.循环引用和垃圾回收

下面我们用这两个类来看看循环引用。class Parent:   def __init__( self, *children ):     self.children= list(children)     for child in self.children:       child.parent= self   def __del__( self ):     print( "Removing {__class__.__name__} {id:d}". format( __class__=self.__class__, id=id(self)) ) class Child:   def __del__( self ):     print( "Removing {__class__.__name__} {id:d}". format( __class__=self.__class__, id=id(self)) )

3.循环引用和weakref模块

4. __del__()方法和close()方法

__del__()方法最常见的用途是确保文件被关闭。

通常,包含文件操作的类都会有类似下面这样的代码。__del__ = close

这会保证__del__()方法同时也是close()方法。

大家如果碰到其他更复杂的情况最好使用上下文管理器。以上就是关于del的函数能够碰到的几种场景,只需要浏览几遍,就可以理解内容了哦~

python del函数_python del函数是什么以及如何使用?相关推荐

  1. python del用法_python del()函数用法 -电脑资料

    示例程序如下: >>> a = [-1, 3, 'aa', 85] # 定义一个list >>> a [-1, 3, 'aa', 85] >>> ...

  2. python有哪些函数_python常用函数有哪些

    Python常用函数: 1. print()函数:打印字符串 2. raw_input()函数:从用户键盘捕获字符 3. len()函数:计算字符长度 4. format(12.3654,'6.2f' ...

  3. 用python实现分段函数_python分段函数

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! segmentation fault (core dumped) python脚 ...

  4. python中的cell函数_python基础-函数

    函数的基本使用 函数的参数详解 名称空间与作用域 闭包函数 装饰器 2020.9.11 小白学习,如有错误欢迎指点 参考自egon大佬Python快速入门神器​www.zhihu.com 函数 使用函 ...

  5. 在python中使用关键字define定义函数_python自定义函数def的应用详解

    这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数 自定义函数,编程里面的精髓! def 自定义函数的必要函数:def 使用方法:def 函数名(参数1,参数2,参数-): ...

  6. python神秘的魔法函数_Python魔法函数

    1.什么是魔法函数 魔法函数即Python类中以__(双下划线)开头,以__(双下划线)结尾的函数,Python提供的函数,可让咱们随意定义类的特性 示例: class Company(object) ...

  7. python中模块和函数_Python中函数和模块的体验与使用

    函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 1.1 快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个 ...

  8. python反序数函数_python range()函数取反序遍历sequence的方法

    python range()函数取反序遍历sequence的方法 python中的range函数取反序有两种方式 第一种:先构建一个列表,然后对列表中的元素进行反转. 例如: a=range(5) f ...

  9. python用psf函数_Python 嵌套函数(高级用法)

    Python 嵌套函数(高级用法) 一.嵌套函数(高级用法) 1.嵌套函数 函数的嵌套调用是在"函数调用中再调用其他函数".也就是说:函数嵌套允许在一个函数中调用另外一个函数.如下 ...

最新文章

  1. 有比 ReadWriteLock更快的锁?
  2. 11 ORA系列:ORA-01791: 不是 SELECTed 表达式(distinct使用注意点)
  3. 平流式初沉池贮砂斗计算_除磷药剂如何投加效果最好?投加量如何计算?
  4. iOS之深入解析少见却神奇的NSProxy类的多种使用
  5. JAVA获取JVM内存空间和物理内存空间
  6. Apollo进阶课程㉙丨Apollo控制技术详解——控制器的类型
  7. System.currentTimeMillis()与日期之间的相互转换
  8. html表格输入框怎么左移动,当我向CSS中的文本框添加边框时,HTML表单输入会移动...
  9. [系列教程] Discuz模板的制作方法
  10. 【秒懂音视频开发】16_AAC解码实战
  11. 蓝本蓝科技:社群变现的模式有哪些?
  12. 清华大学交叉信息研究院姚班修改培养模式:姚班、智班、量信班全合并
  13. 编写js,使用对象字面量的形式创建一个名字为可可的狗的对象,具体信息如下:
  14. MySQL 序号(排序)函数:row_number() 、rank() 、 dense_rank()、ntile()
  15. 吸血鬼素数 C/C++
  16. Revit一款主要用于进行建筑信息建模的软件
  17. Java笔记14-Java高级编程部分-第八章-多线程
  18. 《Head First 设计模式》(四):工厂模式
  19. 关于Oracle的参数是游标,如何处理(mirth)
  20. 关于asp输出json对象的方法及实例

热门文章

  1. 10-19政治单选-多选答案
  2. CNN模型之SqueezeNet
  3. 视觉与机械手标定系统技术解决方案
  4. 论文不公开代码,应该被直接拒稿?
  5. 还在用肉眼找不同吗?这个技术轻松搞定
  6. SQL Sever 2008 R2 数据库(2) ——数据库管理
  7. 努力成为优秀的工程师
  8. 增加ESXI中虚拟机CENTOS系统分区容量
  9. 刷新aspx页面的六种方法
  10. 十分钟带你入门最具Python风格的Gui库