Python构造函数与析构函数(__init__()和__del__())

时间:2021-2-27 作者:admin

构造函数

构造函数,在类实例化时会调用的函数

定义类Myclass

class Myclass:

在Myclass类中声明__init__()方法

class Myclass:
    def __init__(self):
        print('Hello,World')

现在,我们已经声明了__init__()方法,这个构造函数将打印
”Hello,World“

实例化对象

class Myclass:
    def __init__(self):
        print('Hello,World')


Myclass_object = Myclass()

这个对象Myclass_object初始化完成,调用__init__方法
因为类创建对象的时候将调用构造方法

添加析构函数

析构函数将完成一些清理工作,Java中没有析构函数,因为它拥有垃圾回收的功能,不像C++语言需要手动delete对象,在C++中,类的析构方法如下定义

class Myclass{
public:
Myclass(){};//C++构造函数
~Myclass(){};//C++析构函数
};

与Python语言不同,Python语言的析构方法是__del__方法

class Myclass:
    def __init__(self):
        print('Hello,World')

    def __del__(self):
        print('Hello_World')


Myclass_object = Myclass()

添加完毕

class Myclass:
    def __init__(self):
        print('Hello,World')

    def __del__(self):
        print('Hello_World')


Myclass_object = Myclass()
del Myclass_object

手动delete Myclass类的对象

构造函数的参数

class Myclass:
    def __init__(self, value):
        print(value)

    def __del__(self):
        print('Hello_World')



在__init__方法中定义了参数value,调用print函数打印这个参数
这时的初始化方法

Myclass_object = Myclass(1)

结果应为打印1和”Hello_World”

警告

构造函数没有返回值

析构函数同样没有返回值

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。