python文件的两种用途
一、两种用途
在讲这个知识点之前我们先来讲一下python的两种文件
执行文件:当前运行的文件
模块文件:被导入的文件
eg:
from m1 import y #m1为模块文件
print(y)
执行文件和模块文件是相对的
所以他的两种用途分别是:
- 脚本。一个文件就是整个程序,用来被执行
- 模块。文件中存放着一堆功能,用来被导入使用
二、浅谈if __name__ == '__main__':
在这之前我们先来看一段代码,这段代码存在m.py文件中
#m.py
x =1
def f1():
print(m)
def f2():
print(n)
if __name__ == '__main__':
f1()
f2()
接下来是一个执行的文件run.py
# run.py
import m
如果直接运行run.py会直接运行m.py中的f1()
和f2()
,但是如果我们在m.py中加上if __name__ == '__main__':
这句话,则可以防止运行run.py时执行f1()
和f2()
。
当m.py
被当做执行文件的时候__name__ == '__main__'
;
在m.py
被当做模块文件的时候__name__ == 'm'
。
由此可以让m.py在不同的场景下有着不同的用法。
if __name__ == '__main__':
实际上就是一个if
判断,或者是过滤器。