有call 方法的就是可调用对象 ,并且可以传入参数
可像函数一样使用
可调用对象的意义:
在普通情况下,当一个类只有一个方法或者对象下某个方法使用很多的时候
推荐用 可调用对象
QQ截图20210714100408.png
可调用对象更重要意义是,封装时统一用法
非可调用对象的写法
class A():
def go(self):
return object()
class B():
def run(self):
return object()
def func():
return object()
# 想在main中得到object,需调用
def main(x):
# b.run() #封装复用性,你怎么知道这里有run函数
# a.go() #你怎么知道这里有go函数
# func()
pass
main(A())
main(B())
main(func)
callable 可调用对象的写法
class A():
def __call__(self):
return object()
class B():
def __call__(self):
return object()
def func():
return object()
# 想在main中得到object,需调用
def main(callable):
callable #统一规范了调用
main(A())
main(B())
main(func)
网友评论