What is it ?
在Python规范的脚本代码中,会经常碰到这么一句莫名其妙的语句:
if __name__=='__main__'
从字面意思上可以理解为,如果名字等于“main”,则执行代码。
python文件通常有两种用法,第一种是作为脚本文件直接执行,第二种是作为模块被调用。
为了使文件同时发挥两个作用,这段代码便起了承上启下的作用。
可以用经典的话来概括:
“Make a script both importable and executable”
让python文件既可以被调用,同时自己可以独立执行。
举个简单的例子:
创建一个python文件,命名为“test.py”
print('I am test.py')
if __name__ == '__main__':
print(I am main)
执行后,输出:
I am test.py
I am main
创建第二个文件,命名为test1.py
import test
执行后,输出:
I am test.py
所以由于test1中调用test模块,模块的函数不认生,只执行了if之外的代码。
网友评论