网站首页 > 技术文章 正文
事实上'__main__'是一个作用域的名称,当在脚本中读取、执行、交互时,模块的__name__等于'__main__'。
一个实例让你理解Python中的__name__及__main__的关系
#一个名为test的py文件
a = __name__
print(a)
#输出结果为__main__
#一个名为test_2的py文件(这里调用上面那个test.py)
import test
test.a
#输出结果为test
- 这里第一个test文件可以理解为打印出脚本自身的模块名称,但由于(在自身调用会显示__main__)这个机制他并不会显示出自身模块名称。
- 也就是说如果我在test中调用__name__他的结果是__main__。
- 但当我们在test_2中调用test文件,则会显示模块名称(即文件名称),这里为test。
那么if __name__ == "__main__"的含义就不言而喻,就是防止其他脚本调用该模块。
如果还不是很理解他们两之间的关系,我们就以更通俗的说发来介绍:
小明看着镜子里面的自己:小明认识镜子里面的人是自己
(也就是 __name__ == "__main__",小明知道镜子里面的人是自己)
而小明的朋友看见小明时:小明的朋友也认识眼前的人,知道他叫小明
(也就是当他被其他脚本调用时会显示出被调用脚本的模块名称,而不是main,就是说小明的朋友看见小明以后不会说看见了自己,而是会喊出他的名字“嗨,小明”)
猜你喜欢
- 2024-11-20 python 代码中 __main__ 有什么用途?
- 2024-11-20 看完文章让你读懂if __name__=='__main__'的含义,面试不用愁
- 2024-11-20 Python if __name__ 的作用介绍
- 2024-11-20 Python基础--Python中的main、__name__ == "__main__"
- 2024-11-20 Python中的 if __name__ == "__main__"作用?
- 2024-11-20 了解 Python 中 if __name__ == "__main__" 的作用
- 2024-11-20 算法金 | Python 中有没有所谓的 main 函数?为什么?
- 2024-11-20 Python 中 if __name__ == '__main__' 的解释
- 2024-11-20 在Python中定义Main函数
- 2024-11-20 你必须要知道的Python中的main函数
- 08-06中等生如何学好初二数学函数篇
- 08-06C#构造函数
- 08-06初中数学:一次函数学习要点和方法
- 08-06仓颉编程语言基础-数据类型—结构类型
- 08-06C++实现委托机制
- 08-06初中VS高中三角函数:从"固定镜头"到"360°全景",数学视野升级
- 08-06一文讲透PLC中Static和Temp变量的区别
- 08-06类三剑客:一招修改所有对象!类方法与静态方法的核心区别!
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (70)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)