__call__方法的运行机制

__call__方法是python的内置方法之一,在类中使用这个内置方法就可以让该类的实例化对象以一个函数的形式运行。
NB(注意): # 后面的部分表示输出结果
代码如下:

class Example:
    def __init__(self):
        print("Instance Created")
    
    # definf __call__ method
    def __call__(self):
        print("Instance is called via special method")
        

# Instance created
main = Example()   # Instance Created

# __call__ method will be called
main() # Instance is called via special method

机制:__init__方法的运行机制这里不做过多讨论,当我们创建完成Example类的对象main后,当我们在实例对象main后面加上括号让它表示为一个函数时,此时便会自动调用内置的__call__方法,从而使得实例化对象main()可以以一个函数的形式被运行,当然在此过程中我们还可以传递我们想要传递的参数。
代码如下:

class Add: 
    def __init__(self): 
        print("Instance Created") 
  
    # Defining __call__ method 
    def __call__(self, a, b): 
        print(a + b) 
  
# Instance created 
main = Add() 
  
# __call__ method will be called 
main(10, 20)	#  30

上述的__call__方法实现了求两个数和的功能。

猜你喜欢

转载自blog.csdn.net/u011699626/article/details/107933170