鱼C论坛

 找回密码
 立即注册
查看: 2776|回复: 6

[已解决]Python中代码文件可以直接实现的功能,有必要设置主函数吗?

[复制链接]
发表于 2018-1-22 09:45:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.Python代码可以直接的运行一行一行的代码,那为什么还要main()函数?
比如:
无.png 有.png
两个的功能相同。设置主函数就需要添加三行的代码,不是更繁琐了吗?
最佳答案
2018-1-22 11:44:50
如果只是这一个文件,看不出来main()这个函数的作用,甚至你可能会觉得有点多余

但如果是一个大工程的话,其中包含多个python文件,这个时候加上这几行代码,就很有必要,【方便你测试】

比如你在运行的时候发现,程序有问题,然后定位到了是其中某一个py文件出现的bug,这时候有了if main xxx ,就可以单独运行这一个文件进行调试,而不影响其他的文件
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-1-22 09:48:12 | 显示全部楼层
设置主函数是为了测试,一般来说,你的代码不是只有这一份py文件,还有其他
当你从其他文件调用这个py文件的内容时,将不执行main()函数的内容
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-22 10:20:02 | 显示全部楼层
只是规范, 一般时候无所谓, 最好还是培养习惯, 做一个好孩子, 好像是socket还是多线程来的, 必须有ifmain
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-22 11:44:50 | 显示全部楼层    本楼为最佳答案   
如果只是这一个文件,看不出来main()这个函数的作用,甚至你可能会觉得有点多余

但如果是一个大工程的话,其中包含多个python文件,这个时候加上这几行代码,就很有必要,【方便你测试】

比如你在运行的时候发现,程序有问题,然后定位到了是其中某一个py文件出现的bug,这时候有了if main xxx ,就可以单独运行这一个文件进行调试,而不影响其他的文件
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-23 20:36:34 | 显示全部楼层
shuofxz 发表于 2018-1-22 11:44
如果只是这一个文件,看不出来main()这个函数的作用,甚至你可能会觉得有点多余

但如果是一个大工程的话 ...

有点不太理解,有了if mainxxx就可以单独运行这一个文件调试。以及怎么实现?是if main后的xxx改成需要调试的文件名吗?。小白不理解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-24 09:21:18 | 显示全部楼层
AdaHao 发表于 2018-1-23 20:36
有点不太理解,有了if mainxxx就可以单独运行这一个文件调试。以及怎么实现?是if main后的xxx改成需要调 ...

更详细的你可以看下这篇文章:
http://blog.konghy.cn/2017/04/24/python-entry-program/


简单来说就是,你可以在if main中写一些调试代码,那么当这个文件作为程序入口文件时,if main中的代码就会运行。而如果这个文件是被当成一个模块文件,被别的文件调用的时候就不执行 if main
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-25 08:43:36 | 显示全部楼层
shuofxz 发表于 2018-1-24 09:21
更详细的你可以看下这篇文章:

了解,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-6 04:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表