python是脚本语言,其特性不像c/c++/java语言一样需要有一个入口编译器才能一步一步执行,他是动态语言,他的执行是从脚本的第一行开始,没有统一的入口。 所以为了让程序只执行我们想让他执行的代码,就有了:if __name=='__main__' 意思就是告诉编译器,你可以从这个模块开始执行。 看一段代码: file1.py:
def func():
print(
'thats 1')
if __name__==
'__main__':
print(
'1 start')
else:
print(
'1 name!=main')
file2.py2:
import file1
print(
'thats 2')
file1.
func()
if __name__==
'__main__':
print(
'2 start')
else:
print(
'2 name!=main')
执行file2的结果:
1 name!=
main
thats 2
thats 1
2 start
执行步骤: 1. import file1 //这个时候转到file1文件执行 1. print(‘1 name!=main’) //因为file1文件是被导入的模块,不是main,所以执行这一句 1. print(‘thats 2’) 1. print(‘thats 1’) 1. print(‘2 start’)