小编典典

为什么要上这堂课?

python

我玩了一段时间我的代码,这不是关于错误或任何东西,但我只是不明白为什么main()类不需要初始化就可以运行…

class vars():
    var1 = "Universe!"
    var2 = "Oscar!"
    var3 = "Rainbow!"

class main():
    print (vars.var1)
    def __init__(self):
        print (vars.var2)
        print (vars.var3)

但是,是的,非常感谢您的阅读。


阅读 195

收藏
2021-01-20

共1个答案

小编典典

与许多其他语言不同,类主体是Python中的可执行语句,并在解释器到达该class行后立即执行。当您运行此“程序”时:

class Foo:
    print("hey")

它只是打印“嘿”而没有Foo创建任何对象。

这同样适用于函数定义语句def(但不适用于函数体)。运行此命令时:

def foo(arg=print("hi")):
    print("not yet")

它显示“ hi”,但不显示“ not yet”。

2021-01-20