Python标准库(草稿)

__main__ —— Top-level code environment

在python中,__main__ 这个特殊的名字主要用于两个地方:

  1. python程序的顶层环境的名字,可以用 __name__ == '__main__' 来检查。
  2. python包中的一个文件:__main__.py

__name__ = '__main__'

  • 当python中的模块或包导入时,__name__ 被设置为模块的名字(文件名去掉 .py 后缀):
1
2
import configparser
configparser.__name__  # 'configparser'
  • 如果这个文件是包的一部分,那么 __name__ 也会包含父包的路径:
1
2
from concurrent.futures import process
process.__name__  # 'concurrent.futures.process'
  • 如果模块是直接在顶层代码环境中执行的,那么 __name__ 的值就会被设置成字符串 '__main__'

什么是顶层代码环境?

__main__ 是顶层代码运行环境的名称。“顶层代码”是指由用户指定的最先开始运行的那一个 Python 模块。之所以它是“顶层”,是因为它将导入程序所需的所有其它模块。有时“顶层代码”被称为应用程序的 入口点。

Python 包中的 __main__.py

__main__.py 文件可以用来为一个包提供命令行接口。

1
2
3
4
bandclass
  ├── __init__.py
  ├── __main__.py
  └── student.py

当使用 -m 标志从命令行直接调用软件包本身时,将执行 __main__.py 。比如说。

1
python -m bandclass

这个命令将导致 __main__.py 的运行。

updatedupdated2026-02-052026-02-05