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