Python代码中if __name__ == ‘__main__‘有什么作用


本篇内容介绍了“Python代码中if__name__==‘__main__‘有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!要搞清楚这个问题,要知道以py作为后缀的Python代码文件,有两种使用方式,第一种方式是直接运行,另一种方式是作为模块被别的py文件导入。当采用第一种方式直接运行自身时,__name__的值为__main__;当采用第二种方式被别的模块导入时,其__name__的值为其文件名(通常也称为模块名);举例实测如下:用PyCharm新建一个Python工程后,新建两个py文件,文件名分别为AAA.py和BBB.py然后在AAA.py中写上如下代码:在BBB.py中写上如下代码:然后分别运行这两个Python文件,结果如下:运行AAA.py的结果如下:运行BBB.py的结果如下:这个示例除了应证了上面说的py文件的两种使用方式,还表明使用import导入py文件/模块时,这个被导入的py文件中没有缩进的代码会被全部执行一遍。这样就带来了一个问题,如果我在导入模块AAA.py时如果有想代码不想被执行,那么该怎么做呢?语句“if __name__ == ‘_免费云主机域名_main__’”就能实现这个作用,具体怎么用,有朋友看了上面的例子应该已经明白了,如果还不明白,请看下面这个例子:修改上面的AAA.py的代码为如下代码:再次分别运行AAA.py和BBB.py,结果分别如下:可见通过语句“if __name__ == ‘__main__’,就能判断出一个py文件是直接运行还是作为模块文件被别的py文件导入的,进而通过这个判断实现一些代码的不被执行。那么通常来说哪些代码不希望被执行呢?当文件被作者定义为一个模块时,里面难免含有一些测试代码,当模块被import时,这些代码是不希望被执行的。每个python模块(python文件,也就是此处的 test.py 和 import_test.py)都包含内置的变量 __name__,当该模块被直接执行的时候,__name__ 等于文件名(包含后缀 .py );如果该模块import到其他模块中,则该模块的 __name__ 等于模块名称(不包含后缀.py)。“__main__” 始终指当前执行模块的名称(包含后缀.py)。进而当模块被直接执行,__name__ == ‘main’ 结果为真。为了进一步说明,我们在 test.py 脚本的 if __name__==”__main__”: 之前加入 print(__name__),即将 __name__ 打印出来。文件内容和结果如下:可以看出,此时变量__name__的值为”__main__”。再执行 import_test.py,执行结果如下:此时,test.py中的__name__变量值为 test,不满足 __name__==”__main__” 的条件,因此,无法执行其后的代码。“Python代码中if__name__==‘__main__‘有什么作用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: python如何使用交互式_运算符

小编给大家分享一下python如何使用交互式_运算符,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!这是一个有用的功能,我们很多人都不知道。在 Python 控制台中,每当我们测试表达…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/28 10:21
下一篇 02/28 10:21

相关推荐