如何在不被调用的情况下使 类 而不是 运行?

How to make classes not run without being called?

如何在不将 class 放在主函数后面的情况下阻止其执行,我需要 class 来执行程序。我只想在声明后使用 class。

代码示例:

class Hello:
    print('this message should not have been displayed')

def main():
    print('hello world')

main()

输出:

this message should not have been displayed
hello world

正如我们在 Python Documentation 中读到的那样,“class 定义是一个可执行语句” 所以如果你直接写 print("string"),您会在输出中看到该字符串。

如果你想用class打印一个字符串,你必须在新的Class中创建一个方法,像这样:

class Hello:
    def helloPrint():
        print('this message should not have been displayed')

def main():
    print('hello world')

main()

现在您的输出将是:

hello world

你可以打印 Hello class 消息,方法是在前面代码的末尾写入以下行:

h = Hello()
h.helloPrint()

你不能这样写...你必须把它放在构造函数的方法中 喜欢这个

class Hello():
    def __init__(self):
        print('this message should not have been displayed')


def main():
    print('hello world')


main()
hello = Hello()

好的,虽然 "a class definition is an executable statement",但并非所有 class 语句都需要直接在模块内。还有这种模式:

def create():
    class foo:
        a = 1
        print('Inside foo')
    return foo

print('running')

C = create()

输出:

running
Inside foo

这会将 fooexecution 延迟到您选择的特定时间。