1. 运行环境
- Python3.9.6
2. __name__
__name__
属于Python中的内置类属性,代表对应程序名称。如果当前运行的程序是主程序,此时__name__
的值就是__main__
,反之,则是对应的模块名。以一个例子来说明:
创建first_module.py文件,文件内容及运行first_module.py文件的结果如下所示:
print("first_module's __name__:", __name__)
# 运行结果
# first_module's __name__: __main__
接着,创建second_module.py文件,在该文件中导入first_module.py文件,文件内容及运行second_module.py文件的结果如下所示:
import first_module
# 运行结果
# first_module's __name__: first_module
如上所示:
- 当运行first_module.py文件时,此时__name__的值为__main__,即代表主程序。而当运行second_module.py是,此时打印出的__name__为first_module,即对应module的name。
3. 使用场景
多用于模块自身的调试。比如,修改first_module.py文件,增加函数first_module_func,然后运行first_module.py文件,此时的运行结果如下,可以看到此时由于__name__
的取值为__main__
,所以会运行if语句中调用的函数的内容。
print("first_module's __name__:", __name__)
def first_module_func(a, b):
print("a+b=", a+b)
if __name__ == '__main__':
first_module_func(1, 2)
# 运行结果
# first_module's __name__: __main__
# a+b= 3
接着,运行second_module.py文件,文件内容和运行结果如下,即由于此时的first_module.py文件中__name__
不等于__main__
,所以不会执行first_module_func函数。
import first_module
# 运行结果
# first_module's __name__: first_module
因此,当我们在调试first_module.py文件中的一些函数时,可以通过这种方式来运行需要调试的函数,比如上面定义的first_module_func函数。此时调试通过之后也不需要删除调试的代码,其他模块引用时不会执行调试代码,从而输出一些无用信息。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-01-11 图解正向代理、反向代理、透明代理
2022-01-11 如何利用MobaX同时处理多台虚拟机输入相同命令
2022-01-11 linux ssh执行命令_在Linux上通过SSH在多个节点上并行执行命令的三种方法
2022-01-11 Window、Linux查看本机外网ip
2021-01-11 mysql 5.7 安装 (压缩包方式 .tar.gz)
2019-01-11 C/C++程序CPU问题分析
2012-01-11 List<T>.Contains(T item)判断是否包含的根据是什么