优秀的编程知识分享平台

网站首页 > 技术文章 正文

一个实例理解Python中的if __name__ ==“__main__”

nanyue 2024-11-20 19:37:48 技术文章 3 ℃

事实上'__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,就是说小明的朋友看见小明以后不会说看见了自己,而是会喊出他的名字“嗨,小明”)


Tags:

最近发表
标签列表