__name__
是表示Python
模块名字的一个系统变量,该变量的值可分为两种情况:
- 如果当前模块是主模块,其值为
__main__
- 如果当前模块是被调用的模块,其值为该模块的名称
如果不明白的话,下面的例子可以帮你理解哦
- 创建
test_name.py
文件,内容如下:
def print_name():
print(__name__)
if __name__ == "__main__":
print(name)
- 创建
test_name_1.py
文件,文件内容如下:
import test_name
if __name__ == "__main__":
print(test_name.__name__)
如果单独运行test_name.py
文件,会得到__main__
;如果运行test_name_1.py
文件,会得到test_name
。
根据__name__
这个特性,可以:
- 表示模块的某个功能,只能被自己使用,还是可以被其他模块调用
- 通过与
if
和__main__
的结合,可以判断项目的主入口是哪个文件或者哪几个文件