Python 魔法方法

魔法方法

__new__  :  先于__init__方法,每生成一个实例执行一次,__new__ 类方法创建实例对象

__init__   :  __init__方法每生成一个实例就会执行一次,初始化实例对象

__call__  :   后与__init__方法,C()() 使用类再加一个括号调用, C为类名称

__del__   :   析构方法,删除无用的内存对象(当程序结束会自动自行析构方法)

class A:
    def __new__(cls, *args, **kwargs):
        # 构造器函数
        print('new')
        return super().__new__(cls, *args, **kwargs)


    def __init__(self):
        # 数据初始化函数
        print('init')
        self.a = 1

    def __del__(self):
        # 析构器函数
        print('del')

    def __call__(self):
        # 将当前类对象实例可以直接作为函数调用
        print('我是call函数')

a = A()
a()
del a     # 当程序运行完退出del会释放内存,释放空间。

你可能感兴趣的:(Python 魔法方法)