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

例子中的Tim是怎末传入friend的?zaiteshufangfa__call__中friend也不用初始化吗?

def __call__(self, friend):

        print 'My name is %s...' % self.name

        print 'My friend is %s...' % friend

p = Person('Bob', 'male')

p('Tim')

My name is Bob...

My friend is Tim...

这里Tim怎样传给Friend?

在特殊方法里,不用self.friend=friend吗?

friend是不是不算新属性?

感觉基础不扎实这些变量稍微对不上,就看不懂了

正在回答

1 回答

函数也可以看作为一个对象,对象创建的时候就会调用__call__方法,就是这个时候传进去的

friend不是类的属性 所以不会有self.friend=friend

希望能帮助你理解

1 回复 有任何疑惑可以回复我~
#1

明日之星123456

#对象可以看作函数,当对象被当做函数调用时,就会调用__call__方法,p(10)
2020-03-07 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

例子中的Tim是怎末传入friend的?zaiteshufangfa__call__中friend也不用初始化吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信