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 儿童毕业祝福语 简短6
14 开工仪式横幅祝福语简短
15 孩子日常祝福语大全简短
16 清晨寄语诗句祝福语简短
17 结婚送亲认亲祝福语简短
18 虎年喝酒拜年祝福语简短