python中if __name__ == "__main__"的详细解释及作用

来源:互联网 发布:袁劲松 思维 知乎 编辑:程序博客网 时间:2024/06/07 16:50

在我学习python的过程中,经常会接触到if name == ‘main‘,相信大家也都经常遇见这种情况,那么它到底是什么意思呢?
首先,python文件的后缀名为.py,它既可以直接执行,也可以被作为模块导入。其中name是一个模块的内置属性,而这个内置属性的值取决于这个.py文件的使用方式,是直接执行还是作为模块导入使用。如果你是直接执行,那么name属性值就是main,即”name == ‘main‘“是True,如果你作为一个模块导入,那么name的属性值就是这个文件名,然后通过name的值,我们可以判断出该模块是作为脚本正在执行还是被其他模块导入,而根据这个判断,我们就可以选择性地执行代码。将只有模块作为脚本执行时的代码放入到if name == ‘main‘: 条件中,下面将用实例说明:
我们首先建立文件first.py,具体内容如下:

# first.pydef func_first():    print("this is the first function")if __name__ == "__main__":    print("first.py is running by myself")else:    print("first.py is being imported into another module")

代码运行结果为:
这里写图片描述

然后建立文件second.py,内容如下:

# second.pyimport firstprint('this is the second function')first.func_first()if __name__ == "__main__":    print("second.py is running by myself")else:    print("second.py is being imported into another module")

代码运行结果如下:
这里写图片描述

这样一看,应该明了很多了,希望此篇文章能给学习python的新手一点小建议,也希望大家能一起学习python

原创粉丝点击