__init__
类的初始化方法,使用最多不讲
__del__
用于实现对象被销毁时所需的操作。比如:释放对象
占用的资源,例如:打开的文件资源、网络连接等。
Python 实现自动的垃圾回收,当对象没有被引用时(引用计数为0),由垃圾回收器
调用__del__方法。
我们也可以通过del 语句删除对象,从而保证调用__del__方法。
系统会自动提供__del__方法,一般不需要自定义析构方法。
__call__
可以通过实例对象名调用(带括号)
class Test: def __call__(self, v1): print(v1) Test()('hahahaha') # 输出 hahahaha
__str__
通过实例对象调用(不带括号),相当于实例对象的值
class Test:
def __init__(self, v2):
self.v2 = v2
def __call__(self, v1):
print(v1)
def __str__(self):
return self.v2
obj = Test('hahahah')
print(obj)
obj(12345)
# 输出:
hahahah
12345