请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

__init__(self)函数中的不明白为什么可调用其他函数?

class BaseSettings(MutableMapping):
    def __init__(self, values=None, priority='project'):
        self.frozen = False
        self.attributes = {}
        self.update(values, priority) #不懂为什么可调用下面的函数,执行顺序不是从上到下么?
        
    def update(self, values, priority='project'):
        pass

我在看源码时,大概看到这样的一个逻辑,请问老师 __init__()里为什么可以调用self.update(self)函数,它不是在后面定义的么? 

正在回答

1回答

这是在类里,方法的调用是在实例化时执行的,这个时候已经扫描了所有方法的定义了。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕数据3541479 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-03-18 16:22:42
  • 提问者 慕数据3541479 #2
    意思是在import时就已经定义好这些函数了,因此实例化时可以调用后面的一些函数对么?
    回复 有任何疑惑可以回复我~ 2018-03-18 16:23:37
  • 7七月 回复 提问者 慕数据3541479 #3
    可以这么理解。
    回复 有任何疑惑可以回复我~ 2018-03-18 16:33:54
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

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

帮助反馈 APP下载

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

公众号

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