python 中的__main__
时间: 2024-12-27 08:23:36 浏览: 7
### Python 中 `__main__` 的作用与用法
#### 内置变量 `__name__`
每个Python模块(`.py` 文件)都包含内置变量 `__name__`,它代表当前模块的名字[^4]。当这个模块被直接运行时,`__name__` 被设置为字符串 `"__main__"`;而如果该模块是从其他地方导入,则 `__name__` 是模块的实际名称。
#### 判断是否为主程序入口
通常情况下,在Python脚本的最后一部分会看到如下代码:
```python
if __name__ == "__main__":
# 主程序逻辑
```
这段条件语句用于判断当前文件是否作为主程序被执行。如果是通过命令行或其他方式直接执行此 `.py` 文件,那么这部分代码将会被执行;但如果只是将其作为一个库来调用其中定义的功能,则不会触发这里的代码块[^1]。
这种机制使得同一个源码既可以当作独立的应用程序也可以作为一种工具包供他人使用而不必担心不必要的副作用发生。
#### 实际应用案例
假设有一个名为 `mymath.py` 的文件,里面包含了平方运算功能:
```python
def square(x):
return x * x
if __name__ == "__main__":
num = int(input("Enter a number to calculate its square: "))
result = square(num)
print(f"The square of {num} is {result}.")
```
在这个例子中,只有当你直接运行 `mymath.py` 时才会提示输入数值并计算其平方值。而在另一个Python文件里可以通过简单的导入操作轻松利用这些已有的函数资源:
```python
import mymath
print(mymath.square(5)) # 输出:25
```
这里并不会因为引入了 `mymath` 模块而导致额外的操作被执行,这是因为上述提到的保护措施发挥了作用[^2]。
阅读全文