Python 程序的入口点并不像其他一些编程语言那样有一个固定的 `main` 函数。相反,Python 程序从上到下逐行执行,就像读小说一样。然而,为了组织代码,我们通常会在文件的顶部添加一些代码来检查是否直接运行该文件,而不是将其作为模块导入。
这种检查是通过 `if __name__ == "__main__":` 语句实现的。这个语句的作用是检查当前模块是否是直接运行的,而不是被导入的。如果是直接运行的,那么 `__name__` 变量的值将是 `"__main__"`,从而执行 `if` 语句块中的代码。
下面是一个简单的例子,展示了如何定义程序入口:
```python
文件名: example.py
def main():
print("我是主程序!")
if __name__ == "__main__":
main()
print("我在example.py里~")
```
当你直接运行 `example.py` 文件时,输出将会是:
```
我是主程序!
我在example.py里~
```
但是,如果你将 `example.py` 文件作为模块导入到另一个文件中,例如:
```python
文件名: another_file.py
import example
```
那么输出将会是:
```
我在example.py里~
```
这是因为 `example` 模块被导入时,`__name__` 变量的值是 `"example"`,而不是 `"__main__"`,所以 `if __name__ == "__main__":` 语句块中的代码不会执行。
建议
组织代码:使用 `if __name__ == "__main__":` 来组织你的代码,这样可以清晰地分离直接运行的代码和作为模块导入的代码。
避免重复:确保你的 `if __name__ == "__main__":` 块中的代码只在你直接运行文件时执行,避免在导入时执行不必要的代码。
模块化和可重用性:将代码组织成函数和类,以便在其他项目中重用。