最近学习python的时候经常会看到好多py文件中都有if _name_ == ‘_main_‘: 这句话,所以就花点儿时间来研究一下,总结了一下使用方法及原则。
平时我们使用python IDE编写py程序的时候 一般是很少用到if name == ‘main‘:这句话的,因为我们在运行py文件时,没有牵扯到其他目录下自定义的py文件,所以不用写这句话就可以无忧地执行当前py文件中的函数,但 想想 如果要是需要调用其他的py文件中的自定义函数呢?这就需要使用if name == ‘main‘:了。
举例:
def a(x):
return x*2
if __name__=="__main__":
print a(2) #print 4
这里使用的单文件运行,输出为4;并且这里使用了 if name==”main“: (如果不使用这句话,输出效果是一样的)
如果在test1.py文件中定义了一个函数a,想要在test2.py文件中调用a函数,这时候就需要if name==”main“:了。
举例说明:
test1.py
def a(x):
return x*2
if __name__=="__main__":
print a(2)
test2.py
from test1 import *
print a(3) #6
这里在test2中调用test1中自定义函数a,输出结果为6。
这里如果在test1中没有使用if name==”main“:这句话,则输出结果中会多出一次计算结果,原因是如果没有if name==”main“:则test2中会对该文件中的可执行语句都会执行(相当于没有main函数)。如果有if name==”main“:的话,相当于判断一下test1文件是否是单独执行的test1文件还是在其他文件中调用的自定义函数,这里的例子就是第二种情况了,所以在if name==”main“:下面的语句就不会执行。
另外,这里也讲讲如何在另一个文件中调用当前文件中的自定义函数?
例如,需要在python文件a中调用同级目录test文件夹中的b文件中的c()自定义函数,如何在a文件中实现?
from test.b import * #从文件路径为test.b的文件中导入所有的函数
c( ) #调用b文件中的c函数
版权声明:本文为博主原创文章,未经博主允许不得转载。
python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法