编程派|为什么我不推荐写 main 函数?( 二 )


我每次看到这种不假思索的累赘代码 , 就觉得难受 。 为什么要写那行 if 语句呢?可能的话 , 应该拆分 main 函数 , 甚至不必封装成一个函数啊!
我个人总结出以下的经验:

  • 打破惯性思维 , 写出地道的代码 。 main 入口函数是某些语言特有的 , 不该在 Python 中“照猫画虎” , 应该了解脚本语言的特点 , 写出简洁优雅的风格
  • 使用 main.py 而非 main 。 因为 Python 的程序执行单位其实是脚本文件 , 而非某个函数或者类 , 所以建议把入口文件命名为 main.py , 内部的函数按需求而定
  • 可以的话 , 使用 __ main __ .py 作为入口文件 。 这个文件结合命令行的“-m”参数使用 , 非常好用 。 推荐阅读: Python 中 -m 的典型用法、原理解析与发展演变
  • 不推荐写 if __name __ == '__ main __ '。 首先 , 如果只有一个文件的话 , 因为不存在导出的可能 , 不建议写 。 其次 , 存在多文件时 , 入口文件(main.py)中极不推荐写这一句 , 此文件的代码逻辑应该精炼 , 理论上其内容不该被导出到其它模块使用 , 因为它是起点!最后 , 多文件的非入口文件也不建议写 , 因为在非入口文件中写这个判断 , 最大的作用就是写一些测试代码 , 但是测试代码应该分离出来 , 写到专门的目录或文件中 。
小结:本文首先解释了什么是 main 入口函数 , 以及为什么某些语言会强制要求写 main 函数;接着 , 解释了为什么 Python 不需要写 main 函数;最后则是针对某些人存在的惯性误区 , 分享了我个人的四点编程经验 。
本文属于“Python为什么”系列文章(Python猫出品) , 该系列主要关注 Python 的语法、设计和发展等话题 , 以一个个“为什么”式的问题为切入点 , 试着展现 Python 的迷人魅力 。 部分话题会推出视频版 , 请在 B 站收看 , 观看地址: https://space.bilibili.com/97566624/video


推荐阅读