花一分钟了解Python 中 __name__ 有什么用

liftword1周前 (12-30)技术文章10

在Python程序中,你会经常看到 __name__ ,例如:

if __name__ == '__main__':
    main()

本文将介绍如何正确使用和理解这个变量。

请注意, __name__ 在程序中是一个变量,只不过这个变量的命名有点奇怪,用双下划线开头和结尾。这种命名的方法,在Pyhton的类对象设计中,常常用于一些具有特殊作用的属性或者方法名称。

如果将编写的一个Python文件,即 .py 为扩展名的文件,作为模块被其他程序引入的时候,我们需要通过 __name__ 这个变量,决定在引入的时候是否要运行该文件。

例如创建一个文件 namescript.py ,内容如下:

def my_function():
    print('the value of __name__ is ' + __name__)
    
def main():
    my_function()
    
if __name__ == "__main__":
    main()

如果执行 namescript.py 文件,其执行流程如下:

importscript.py 中,变量 __name__ 被赋值为 __main__ ,然后执行 import namescript ,Python解析器会自动在模块名字后面增加 .py 并在检索目录中查找该文件——所以,在引入模块的时候不要写成 import namescript.py 。找到了,就引入该文件中的所有代码。

然后,将 namescript.py 文件所运行的空间中的 __name__ 设置为 namescript 。结合上图,在 importingscript.pynamescript.py 中,分别有两个同名的 __name__ 变量,但是,它们的值不同。如此,在 namescript.py 中,因为 __name__ 的值是 namescript 了,于是该文件中的 if __name__ == "__main__" 条件不再成立,所以此条件下的 main() 函数不再执行。

importingscript.py 中,调用了 namescript.my_function() ,打印的结果是: the value of __name__ is namescript ,这里的 __name__ 当然是 namescript.py 中的变量。

如果在 importingscript.py 中,增加 print(__name__) ,打印出来的结果应该是 __main__

如果对Python有兴趣,想了解更多的Python以及AIoT知识,解决测试问题,以及入门指导,帮你解决学习Python中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己Python方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们,可领取最新Python大厂面试资料和Python爬虫、人工智能、学习资料!私信暗号【666】

相关文章

掌握这些Python后缀,让你的编程之路更加顺利

想象一下,你正在玩一个大型的多人在线游戏,你的任务是建造一个强大的城堡,保护自己免受敌人的攻击。你需要收集各种资源,比如木材、石头和金属,然后将它们组合在一起,建造出你的城堡。这就像是编程中的代码编写...

Python处理文件的6个常用代码,使用频率很高,值得收藏

日常工作中,我们经常会遇到一些查找、存储文件的问题,比如文件合并、文件分解等,这些问题涉及到对文件进行操作处理。对此,Python的OS库提供了很多功能模块供使用,本文整理了其中6个使用频率很高的常用...

Python语言的12个基础知识点小结(python语言基础总结)

python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序、去重、字典排序、字典、列表、字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进...

文件后缀,也称为文件扩展名,用于标识文件的类型

文件后缀,也称为文件扩展名,用于标识文件的类型,帮助操作系统确定使用何种程序来打开文件。这里列举一些常见的文件后缀名及其所代表的文件类型:? 文本文件:? .txt:纯文本文件? .doc、.docx...

「Python教程」第5篇 Python程序结构

Python程序的基本单元是文件,每个文件就是独立的一个最小的Python程序。用Python IDLE创建文件下面的动图显示了如何使用Python IDLE在Python安装目录下创建一个test....

破解文件处理难题:用 Python 处理 .txt 文件的必学方法

引言:Python中,对.txt后缀的文件进行多种操作。以下是一些常见的操作及其示例代码:先让我们来学习一下文件的打开模式及其作用:读取整个文件:path =r'D:\file.txt'...