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

来源:7-9 __init__.py 的用法

慕数据3541479

2018-03-18

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回答

7七月

2018-03-18

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

0
3
7七月
回复
慕数据3541479
可以这么理解。
2018-03-18
共3条回复

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14596 学习 · 4469 问题

查看课程