魔法方法
__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会释放内存,释放空间。