Python 中的构造“if __name__ == '__main__'”

新手上路,请多包涵

我已经阅读了很多关于此的文章:

 if __name__ == '__main__'

但我没明白…我将与您分享代码。什么是更简短的解释?

我创建了一个文件“ab.py”:

 def a():
    print('A function in ab file');

a()

第二个文件是“xy.py”

 import ab

def b():
    print('b function')

def x():
    print ('s');

x()

if __name__ == "__main__" :
    b()

当我执行此代码时,会出现此输出:

 A function in ab file
s
b function

这是什么意思?这段代码实际上在做什么?我们为什么要实施这个?我们的代码在没有它的情况下也能正常工作。

 if __name__ == "__main__":
    b()

原文由 Jaskaran Zap 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 323
1 个回答

你应该养成几乎总是使用它的习惯。

if __name__ == '__main__': 之后的任何内容都将仅在您明确运行文件时运行。

 python myfile.py

但是,如果您在别处导入 myfile.py

 import myfile

if __name__ == '__main__': 下的任何内容都不会被调用。

原文由 Adam Hughes 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏