为什么Python没有main函数?
共 2979字,需浏览 6分钟
·
2021-06-03 17:37
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
本文转自|深度学习这件小事
![](https://filescdn.proginn.com/755fdf6eef9301551f287bcbe247f23a/02e9fd0061b56a692e65ff4eda1ed1ca.webp)
所谓的“main函数”究竟是什么意思?
为什么有些编程语言必须编写main函数?
main函数名是必须的,这意味着必须有一个主函数。
最多只能有一个main函数,这意味着程序的入口是唯一的。
语法格式有特定要求,书写形式也相对固定。
为什么必须强制main函数作为入口?
Python是一种解释语言,即脚本语言。运行过程是从上到下,逐行进行的,这意味着它的起点是已知的。
每个.py文件都是一个可执行文件,可作为整个程序的入口文件,意味着该程序的入口很灵活,而且无需遵循任何约定。
有时运行Python项目时不需要有指定入口文件(命令行比较常见,例如“ python -m http.server 8000”),可能是因为该项目中有main.py文件,在软件包中作为“文件”来执行。
# main file
def main():
……
if __name__ == '__main__':
main()
他们可能认为这个名字的函数更容易记住。
首先,如果只有一个文件的话,那么这个文件不可能被导出。
其次,如果有多个文件,强烈建议不要将这个语句写在入口文件(main.py)中。从理论上讲,它的内容不应该导出供其他模块使用,因为它是起点。
最后,在多个文件的情况下,也不建议在非入口的文件中写入这条语句,因为这条语句能做的最多也就是编写一些测试代码。即便如此,测试代码也应分开写到专用目录或文件中。
总结
打破惯性思维,编写真实的代码。main函数是某些语言的唯一入口,但不应在Python中使用。你应该了解脚本语言的特征,并学习简单而优雅的风格。
你可以使用main.py,而不是编写main函数。由于Python程序的执行单元是脚本文件,而不是函数或类,因此建议将入口文件命名为main.py,并根据需要决定内部的函数。
将main.py作为入口文件。该文件可直接与命令行的“-m”参数结合使用。
—完—
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~