程序员外包网站,个人建设网站流程,建设工程八大员考试网站,湛江专业网站建设大多数编排得好一点的脚本或者程序里面都有这段if __name__ main: #xff0c;虽然一直知道他的作用#xff0c;但是一直比较模糊#xff0c;收集资料详细理解之后与打架分享。 1、这段代码的功能 一个python的文件有两种使用的方法#xff0c;第一是直接作为脚本执行 main: 虽然一直知道他的作用但是一直比较模糊收集资料详细理解之后与打架分享。 1、这段代码的功能 一个python的文件有两种使用的方法第一是直接作为脚本执行第二是import到其他的python脚本中被调用模块重用执行。因此if __name__ main: 的作用就是控制这两种情况执行代码的过程在if __name__ main: 下的代码只有在第一种情况下即文件作为脚本直接执行才会被执行而import到其他脚本中是不会被执行的。 举个例子下面在test.py中写入如下代码 1print Im the first.2if __name____main__:3 print Im the second.
并直接执行test.py结果如下图可以成功print两行字符串。即if __name____main__: 语句之前和之后的代码都被执行。 然后在同一文件夹新建名称为import_test.py的脚本只输入如代码
import test 执行import_test.py脚本输出结果如下 只输出了第一行字符串。即if __name____main__: 之前的语句被执行之后的没有被执行。 2、运行的原理 每个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__的条件因此无法执行其后的代码。