即使没有实例化,为什么Python会进入类

时间:2014-12-01 11:41:50

标签: python

我想知道为什么当我运行如下所示的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

1 个答案:

答案 0 :(得分:3)

Python会在您运行代码时创建类对象,因此即使您没有创建Foo的任何实例,它也会打印“BRAVO 2”。

如果您要使用Foo创建foo = Foo()的实例,那么它也会打印“BRAVO 3”,因为它位于初始化时调用的__init__函数内。 / p>