我想知道为什么当我运行如下所示的python脚本时,解释器会打印出类中的print,即使该类尚未实例化。
AFAIK,python首先读取全局内容,然后转到main方法,然后从那里调用其他对象。
print "BRAVO 1"
class Foo():
print "BRAVO 2"
def __init__(self):
print "BRAVO 3"
print "BRAVO 4"
if __name__ == "__main__":
print "BRAVO MAIN"
打印
BRAVO 1
BRAVO 2
BRAVO 4
BRAVO MAIN
答案 0 :(得分:3)
Python会在您运行代码时创建类对象,因此即使您没有创建Foo
的任何实例,它也会打印“BRAVO 2”。
如果您要使用Foo
创建foo = Foo()
的实例,那么它也会打印“BRAVO 3”,因为它位于初始化时调用的__init__
函数内。 / p>