• 技术文章 >后端开发 >Python教程

    Python没有main函数的原因是什么

    WBOYWBOY2023-04-19 10:01:04转载48

    为什么必须强制main函数作为入口?

    这些语言都是编译语言,需要将代码编译成可执行的二进制文件。为了让操作系统/引导程序找到程序的开头,需要定义这样一个函数。

    简而言之,需要在大量可执行的代码中定义一个至关重要的的开头。

    不难看出,对于这些语言来说,main函数是不可或缺的组成部分。

    但是,当我们把目光转向Python时,就会发现情况大不相同。

    总而言之,Python作为脚本语言不同于编译语言。无论是单个模块(即.py文件),还是由多个模块组成的软件包,Python都可以选择一种灵活的执行方法,这完全不像其他语言那样必须定义入口。

    换句话说,Python不需要规定程序员必须在语法上定义一个统一的入口(无论是函数、类还是其他东西)。

    有些学生可能会感到困惑,因为他们经常看到或编写以下代码:

    # main file  
    def main():      
        ……  
      
    if __name__ == '__main__':      
        main()

    这不就是Python的main函数吗?相信很多人都这么认为!

    不,并不是。

    除了函数名是“main”之外,这段代码与我们前面介绍的main函数没有半点关系,这个函数既不是必须的,也不能确定程序的执行顺序。即便没有上面这样的main函数,也不会有任何的语法问题。

    人们想编写一个main函数的主要原因其实是为了强调这是一个主函数,希望人为地将其设置成第一个执行的函数。

    他们可能认为这个名字的函数更容易记住。

    他们之所以要编写name ==‘main’,可能是因为想表明main()只在直接执行当前脚本时才运行,而在将其导入到其他模块时不要运行。

    但是,我个人不推荐这种写法。

    举一个简单的例子,假设只有几十行代码,或者一个脚本文件实现了一个简单的功能(一个爬虫,或画一只乌龟,等等),但都是按照前面的方式编写的。

    不推荐if name == 'main’的写法,因为:

    每次看到这些笨拙的代码时,我都会感到不适。为什么要写这样的if语句?你压根不应该将这段代码包装成一个函数!

    以上就是Python没有main函数的原因是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:亿速云,如有侵犯,请联系admin@php.cn删除
    专题推荐:Python main
    上一篇:超全!Python获取某一日期是“星期几”的六种方法! 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 学习Python实现自动驾驶系统• 如何使用Python Asyncio实现网站状态检查• Python中的生成器、迭代器、动态新增属性和方法详解• 如何使用Python的pathlib模块处理文件路径?• 如何用Python构建基础的聊天机器人
    1/1

    PHP中文网