为了账号安全,请及时绑定邮箱和手机立即绑定

关于实例的调用,__call__()

class Person(object):
    def __init__(self, name, gender):
        self.name = name
        self.gender = gender
    def __call__(self, friend):
        print 'My name is %s...' % self.name
        print 'My friend is %s...' % friend
>>>p = Person('Bob', 'male')
>>>p('Tim')
这里'Tim'为什么一定是把值传给了__call__()中的friend,如果是在上面代码里添加一个和__call__()差不多的需要一个传入参数的方法,那'Tim'又把值传给谁?


正在回答

1 回答

相当于特殊属性,因为如果没有__call__()函数你不可能直接给一个实例传参数,所以说如果能传参数 只能给call 函数  这是一种机制

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255533    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

关于实例的调用,__call__()

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号