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 婆婆高寿祝福语大全简短