和C/C++等编译型的语言不同,Python属于解释性语言。
解析器会一行一行的执行Python程序。
解释型语言不需要提前编译,没有强烈的语法要求。
请看下面例子:
class A():
def aaa(self):
self.A1
self.A2 = self.A1 * 10
print(self.A2)
a = A()
a.A1 = 10
a.aaa()
输出:
100
如果最后两行交换:
执行时报错,这是因为a.A1这个属性不存在。
那为啥之前例子中的程序不报错呢?
这是因为Python的赋值语句a.A1 = 10为对象a添加了属性A1。