python - 为什么要开这个类?

标签 python python-3.x

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

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

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

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

最佳答案

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

class Foo:
    print("hey")

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

这同样适用于函数定义语句def(但不适用于函数体)。当你运行它时:

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

它打印“hi”,但不打印“not yet”。

关于python - 为什么要开这个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31839816/

相关文章:

python - 如何为每个组创建堆积条

python - any()的返回值

python - 可迭代的连续切片

python - 根据某些行/条件将表格格式化为多列

python - 即使在设置 SLUGIFY_USES_TEXT_UNIDECODE 和 AIRFLOW_GPL_UNIDECODE 后也无法安装 Airflow

Python,正则表达式 : Place list of strings in regex

python - 如何获取特定元素后的字典键的长度?

python - 如何正确测试程序 python 脚本

python - PBS 集群节点上的多处理

python - nlargest(2) 在行级别检索列名称和相等值