if __name__ == '__main__': 详解

首先,__name__是所有模块都会有的一个内置属性,一个模块的__name__值取决于你如何调用模块。
假如你有一个test.py文件,如果在a.py文件中使用import导入这个模块import test,那么test.py模块的__name__属性的值就是test,不带路径或者文件扩展名。
但是很多时候,模块或者说脚本会像一个标准的程序样直接运行,也就是类似python test.py这种方式,在这种情况下, __name__的值将是一个特别缺省值"main"。

根据上面的特性,可以用if __name__ == '__main__'来判断是否是在直接运行该py文件!
如果是,那么if代码块下的语句就会被执行,如果不是,就不执行。
该方法常用于对模块进行测试和调试,区分直接运行和被导入两种情况的不同执行方式!

通俗理解:若是直接执行这个模块,则__name__的值就是"main",若是这个模块被其他模块导入,则__name__的值就是模块名,不带路径或者文件扩展名


posted @   哈喽哈喽111111  阅读(8863)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2018-08-10 装饰器知识汇总
2018-08-10 python的父类和子类中关于继承的不同版本的写法
点击右上角即可分享
微信分享提示