• 调用类对象
  • Python 调用类对象

    调用类对象

    要想达到调用函数一样调用类对象,应得在类中实现__call__方法。这类可以当作函数来调用的对象,称为可调用对象。

    #!/usr/bin/env python
    # coding: utf-8 
    # Create by Andy963 @2020-07-12 13:37:23
    
    class A:
        def go(self):
            return object()
    
    class B:
        def run(self):
            return object()
    
    def func():
        return object()
    
    def main(params:
        params()
        # a.go
        # b.run
        # fun()
        pass
    
    #在上面的情况中,如果是传入的A的对象,在main中我得调用a.go方法,而如果是B的对象,则需要调用run方法,对于不同的类,要调用不同的方法,显示在main函数中我们
    #无法知道这个具体方法,而__call__方法让这一切成为可能。只要类实现了__call__方法。
    
    
    class Person:
        def __init__(self,name):
            self.name = name
    
        def __call__(self):
            print(self.name,'hello,world')
    
    if __name__ == '__main__':
        andy = Person('andy')
        andy() # 可调用对象
    
    
    #因为实现了__call__方法,我只需要调用类对象(就像调用函数一样)
    

    上一篇:设置vps支持中文

    下一篇:Flask-mail 异步发送邮件