02 #### `__call__` ,对象(),自动执行call 方法
call
class foo:
# __int__ 初始化方法
def __init__(self, name): # 2、在去执行:__init__ 方法,做初始化
self.name = name
def ff(self):
print(self.name)
def __call__(self):
pass
obj = foo('test') # 类名加括号,执行 new 与 __init__方法,创建对象是为了调用类里面的方法
obj.ff() # # 如果类里面,定义了__call__方法, 可以使用创建:对象(),自动执行call 方法 obj()
call
class content:
def __init__(self, name, age):
self.name = name
self.age = name
def __call__(self, *args, **kwargs):
print(self.name)
print(self.age)
def start(xxx):
return xxx() # 函数+括号,表示执行
def handler():
pass
if name == 'main':
obj = content('test', 19) # 将数据封装到类中
print(start(obj)) # 在将他对的对象,传到方法中
print(start(handler)) # 也支持将函数传入到方法