__call__方法的运行机制
原创
©著作权归作者所有:来自51CTO博客作者勤奋的大熊猫的原创作品,请联系作者获取转载授权,否则将追究法律责任
__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__
方法实现了求两个数和的功能。