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__’: 是有作用的
今天的文章python中的main函数分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/29741.html