python中的main函数

 python是一种解释型脚本语言,和C/C++语言不同,C/C++程序从main函数开始执行,python程序从开始到结尾顺序执行。先总结下python中的main函数的作用:让模块(函数)可以自己单独执行(调试),相当于构造了调用其它函数的入口,这就类似于C/C++里面的main函数了。

一方面:我们想要自己单独执行(调试)

这里我们实际调试一下(假设这个文件是test.py):

#test.py
print('Hello World!')

def aaa():
    print('this message is from aaa  function')

def main():
    print('this message is from main function')

if __name__ == '__main__':
    main()
    print ('now __name__ is %s' %__name__)

执行python test.py  输出:

Hello World!
this message is from main function
now __name__ is __main__

这里我们看到我们定义的aaa函数没有被执行,而main函数里面的内容被执行了,表明 if __name__ == '__main__': 这条判断语句是通过的,执行了判断条件里的main(); 

另一方面:通过import命令就可以使用其它.py文件里面的函数,我们将test.py中的模块(函数)导入call.py,需注意test.py和call.py放在同一个文件夹下;

#call.py
from test import aaa
aaa()
print ('now __name__ is %s' %__name__)

执行python  call.py  输出:

Hello World!
this message is from aaa  function
now __name__ is __main__

所以当我们自己写了.py文件,想要测试里面的函数时,就这样构造一个main函数入口就可以调用测试自己写的函数啦~


补充:test2.py

print('Hello World!')
def aaa():
    print('this message is from aaa  function')
def main():
    print('this message is from main function')
main()
aaa()

输出:

Hello World!
this message is from main function
this message is from aaa  function

实际上这样也可以直接调试,test2.py同样可以直接被其它模块调用,所以python里面mian的设置有些鸡肋? --》 不是的,当在call.py中执行 from test import aaa  这条命令时,仍然会执行 main()函数里面的内容,所以  if '__name__' == '__main__':  是有作用的

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值