if __name__ ==“ __main__”:在Python中做什么?
当Python解释器读取源文件时,它将执行其中找到的所有代码。
在执行代码之前,它将定义一些特殊变量。例如,如果python解释器将该模块(源文件)作为主程序运行,则它将特殊的__name__变量设置为值“__main__”。如果从另一个模块导入该文件,则将__name__设置为模块的名称。
这样做的一个原因是,有时您编写了一个模块(.py文件),可以在其中直接执行该模块。或者,也可以将其导入并在另一个模块中使用。通过进行主要检查,您可以使代码仅在要将模块作为程序运行时执行,而在有人只想导入模块并自己调用函数时不执行。
例如,如果您有2个文件one.py和two.py,其代码如下:
一个.py:
def func():
print("func() in one.py")
print("Root of one.py")
if __name__ == "__main__":
print("one.py is being run directly")
else:
print("one.py is being imported")Two.py:
import one
print("Root of two.py")
one.func()
if __name__ == "__main__":
print("two.py is being run directly")
else:
print("two.py is being imported")现在,如果您运行,
$ python one.py
您将获得输出:
Root of one.py one.py is being run directly
但是如果你运行
$ python two.py
您将获得输出:
Root of in one.py one.py is being imported Root of in two.py func() in one.py two.py is being run directly
热门推荐
10 周末愉快祝福语高级简短
11 生日油画棒祝福语简短
12 中秋祝福语给父亲简短
13 对上司的简短祝福语
14 周二祝福语大全简短
15 幸福卡片祝福语英文简短
16 上海返乡祝福语简短精辟
17 关于早晨的祝福语简短
18 鼓励孩子小考祝福语简短