__init__在__new__之后初始化对象
类加括号生成对象
函数加括号执行
对象加括号,执行__call__方法,如果类里面没有__call__方法,会报错。
class Foo():
def __call__():
print("运行对象,自动执行call方法")
obj1 = Foo()
Foo()() # 执行__call__方法。
__setitem__()
用于items的增减
----------------------
obj = dic()
obj[k1‘] = 123
--------------------------
class Foo():
def __setitem__(self,key,value):
pass
def __getitem__(self,key,value):
pass
obj2 = Foo()
obj2[‘k‘] = value 赋值调用__setitem__
obj3[‘k2‘] 取值调用__getitem__
---------------------------------
__str__()
当直接打印对象时,会自动调用__str__方法。
原文:https://www.cnblogs.com/jacksenly/p/14356782.html