最近执行一个python文件时发现,代码实际按照正常逻辑运行,但是多个代码段会重复执行多次,经查找相关资料,确定大致问题与import导入模块有关(但奇怪的是import某些模块会导致重复执行,有的则正常,后续待研究)。
当定义一个方法,并在后面调用执行的时候,python会在调用的时候先将函数内的程序先无差别的执行一遍,再进行用户真正需要的执行。
在python中,文件后缀为.py的文件有两种情况,一种是做个单个的脚本直接执行,另一种则是作为模块被调用(import)。这两种方式对应一个很重要的差异是,有一个内置的"name"属性,前者name = "main",后者name = "module name"。
因此,针对如上奇怪现象,可以在当前.py文件最开始处加上一行打印语句:print(name),查看各循环执行的原因是否由于name属性问题造成,为解决该问题,我们可以在代码入口处加上如下语句:
if name == 'main':
code……
————————————————
版权声明:本文为CSDN博主「jun_renascence」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jiangganwu/article/details/101111038
网友评论