callable 可调用对象

2021-07-14  本文已影响0人  wyc0859

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)
上一篇下一篇

猜你喜欢

热点阅读