python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法

最近学习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函数
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值