__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__方法实现了求两个数和的功能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤奋的大熊猫

你的鼓励将是我写作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值