Appearance
Main 函数
它是什么
__main__
是顶级代码执行的作用域的名称。 当从标准输入、脚本或交互式提示符读取时,模块的名称被设置为 __main__
。
模块可以通过检查自己的 __name__
来发现它是否在主作用域中运行,这允许在模块中有条件地执行代码的常见习惯用法。当它作为脚本运行或使用 python -m
运行时会执行,但在被导入时不会执行:
python
>>> if __name__ == "__main__":
... # execute only if run as a script
... main()
对于一个包,可以通过包含一个 main.py 模块来实现相同的效果,当使用 -m 运行模块时,该模块的内容将被执行。
例如,我们正在开发一个设计为用作模块的脚本,我们应该这样做:
python
>>> def add(a, b):
... return a+b
...
>>> if __name__ == "__main__":
... add(3, 5)
优势
- 每个 Python 模块都有其
__name__
定义,如果这是__main__
,这意味着该模块是由用户独立运行的,我们可以执行相应的适当操作。 - 如果你在另一个脚本中将此脚本作为模块导入,name 将设置为脚本/模块的名称。
- Python 文件可以作为可重用模块或独立程序。
if __name__ == "__main__":
用于仅在文件直接运行时执行某些代码,而不是被导入时。