Python无需强制main函数因其脚本自上而下执行,但为支持模块复用、测试和命令行参数,惯例是封装main()函数并用if name == "__main__":调用。
Python 没有像 C 或 Java 那样强制要求的 main 函数,但有一个广泛使用的惯用写法:if __name__ == "__main__":,它起到类似“程序入口”的作用。
Python 是解释型语言,脚本从上到下顺序执行。只要代码不是定义在函数或类里,就会直接运行。所以严格来说,整个脚本本身就可以是“主逻辑”。不过这样不利于模块复用和测试——别人导入你的文件时,你不希望其中的业务代码自动执行。
标准做法是把主逻辑封装进一个函数(常叫 main()),再用 if __name__ == "__main__": 控制是否调用它:
def main():
print("这是主程序逻辑")
if __name__ == "__main__":
main()
这样做的好处:
main() 不会意外执行main() 或跳过
它)argparse)很多脚本还会加上参数处理和异常兜底:
import sys
def main():
args = sys.argv[1:]
if not args:
print("请提供参数")
return
print(f"收到参数:{args}")
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
print("\n已退出")
也可以用 argparse 做更规范的命令行接口,main() 就成了统一入口。
基本上就这些。没有硬性规定,但加 if __name__ == "__main__": 是 Python 社区共识,不复杂但容易忽略。