类的析构方法__del__

析构方法:
语法:
class 类名:
def __del__(self):
...
说明:
析构方法在对象被销毁时被自动调用
python建议不要在对象销毁时做任何事情,因为销毁的时间难以确定

class Car:
    def __init__(self, info):
        self.info = info
        print("汽车对象", info, "被创建")
    def __del__(self):
        print("汽车对象", self.info, "被销毁")

c1 = Car("BYD E6")
#改变变量的绑定关系可以释放BYD E6对象
#c1 = None
#删除变量,释放对象
#del c1

input("请输入回车键继续执行程序")
print("程序退出")

#或者当程序结束时也会释放对象   

输出结果:
[email protected]:~/zengsf$ python3 exercise823.py
汽车对象 BYD E6 被创建
请输入回车键继续执行程序
程序退出
汽车对象 BYD E6 被销毁

原文地址:https://www.cnblogs.com/zengsf/p/9527185.html

时间: 2024-07-29 21:40:48

类的析构方法__del__的相关文章

python的析构方法__del__

#!/usr/bin/env python # -*- coding: utf-8 -*- # File  : 析构方法del.py # Author: HuXianyong # Date  : 2018/7/9 class Foo:     # 初始化方法     # 创建完对象后会自动被调用     def __init__(self, name):         print('__init__方法被调用')         self.name = name     # 析构方法     

python面向对象析构方法-----> __del__方法

1.什么时候用法析构方法. 在对象资源被释放的时候触发. 2.使用场景. 帮助清理资源,比如python解释器清理不掉的资源. 例子: class Foo: def __init__(self,x): self.x=x def __del__(self): #在对象资源被释放时触发 print('现在是__del__执行') f=Foo(100000) del f #这个步骤在释放资源,这个时候会触发函数中的__del__函数中定义的方法. print('====================

Python __析构方法__del__

class Foo: def __init__(self,x): self.x=x def __del__(self): #在对象资源被释放时触发 print('-----del------') print(self) f=Foo(100000)del fprint('=======================>')

知识点:构造和析构方法 __new__ , __init__ , __del__

1:__new__ 类创建对象的一个执行的方法,一般不需要重写这个函数.当继承的类是不可变,但是又想修改该对象. 基本语法  def __new__(cls ,[args,]]) ####写一个将字母全部大写的类#### class Capstr(str): def __new__(cls , string): string = string.upper() return str.__new__(cls , string) print(Capstr("marian")) ####写一个

__del__() 析构方法和__call__() 方法

一:析构方法__del__(): 1 ''' 2 当对象在内存中被释放时,自动触发执行 3 不过一般不用我们释放,Python 解释器会自动释放 4 ''' 5 class DemoClass: 6 7 def __init__(self,name): 8 self.name = name 9 10 def __del__(self): 11 print("析构了") 12 13 14 if __name__ == "__main__": 15 demo = Dem

类的构造方法和析构方法和封装的目的和封装的做法+访问修饰符

一.封装的目的:为了让类更安全. 封装的做法: ①类里面的成员变量做为private ②使用成员方法来间接访问成员变量 ③在该方法里面加限制条件 注意:PHP类里面不允许出现同名方法. 二.访问修饰符 ①public:代表公有的,在任何地方都可以访问. ②protected:代表受保护的,只能在该类或该类的子类中访问. ③private:代表私有的,只能在该类中访问. 三.类的构造方法注意事项 ①构造方法名可以和类相同,也可以使用__construct();提倡时候后者. ②构造方法没有返回值.

[转]python self、类、构造和析构方法 简单学习

self可以理解为自己类似于C++中的this指针,就是对象自身的意思,在用某个对象调用该方法时,就将该对象作为第一个参数传递给self python的类中有属性.方法:其中属性可以有私有和公有之分,方法可以对私有属性进行限定和保护,类似于C#中属性的功能. 方法也有私有和公有,__方法前面两个下划线 类,具有相似内部状态和运动规律的实体的集合(统称.抽象)具有相同属性和行为事物的统称,类是抽象的,使用时找到类的具体存在,使用这个具体存在--对象类是对象的模板  类:类名.属性.方法 class

__del__ 析构方法 __init__ 构造方法

# ### __del__ 析构方法 __init__ 构造方法 ''' 触发时机:当对象被内存回收的时候自动触发[1.页面执行完毕回收所有变量 2.所有对象被del的时候] 功能:对象使用完毕后资源回收 参数:一个self接受对象 返回值:无 ''' class LangDog(): def __init__(self,name): self.name = name def eat(self,something): print("可爱的小狼{},喜欢吃{}".format(self.

14 PHP 类的继承 [public protected private] parent 构造方法 析构方法 重写 最终类和方法 设计模式

类的继承 简单理解: 某个类A具有某些特征,另一个类B,也具有A类的所有特征,并且还可能具有自己的更多的一些特征,此时,我们就可以实现:B类使用A的特征信息并继续添加自己的一些特有特征信息. 基本概念 继承:一个类从另一个已有的类获得其特性,称为继承. 派生:从一个已有的类产生一个新的类,称为派生. 继承和派生,其实只是从不同的方向(角度)来表述,本质上就是一个事情. 父类/子类:已有类为父类,新建类为子类.父类也叫"基类",子类也叫"派生类" 单继承:一个类只能从