温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-07-10 16:21:59 来源:亿速云 阅读:526 作者:Leah 栏目:编程语言

Python中没有main函数的原因是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

为什么必须强制执行主函数?

这些语言是已编译的语言,需要将代码编译到可执行的二进制文件中,以便操作系统/引导程序找到程序的开始,因此需要定义此功能。

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

不难看出,主函数是这些语言不可或缺的有机组成部分。

但是,当我们再次查看Python时,情况就大不相同了。

  • 每个.py文件都是一个可执行文件,可以用作整个程序的入口文件,意味着该程序的入口是灵活的,并且无需遵循任何约定

  • 有时在运行Python项目时,未指定入口文件(在命令行中较为常见,例如" python -m http.server  8000"),它可能是main.pya文件的存在,它在软件包中以" 文件"来执行

总之,这意味着脚本语言Python与编译语言不同。  无论是在单个模块级别(即.py文件),还是在由多个模块组成的包级别,它都可以选择一种灵活的执行方法,这与其他语言不同 定义的条目。

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

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

# main filedef main():  …… if __name__ == '__main__':    main()

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

不,这不对

除了函数名是" main"之外,它与我们前面介绍的正统main函数没有半分的关系,不是强制性的,也不一定确定程序执行的顺序。  没有它,就不会引起任何语法问题。

有些人想命名"main"函数的原因实际上是为了强调其"主入口"状态,并希望将其安排为人为执行的第一个功能。

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

他们之所以要编写__name__ =='main'的原因,可能是想表明main()仅在直接执行当前脚本时才运行,而在将其导入其他模块时不希望运行。

但是,我个人不推荐这种书写方式

最明显的例子:只有几十行代码或一个脚本文件实现了一个简单的功能(一个小的搜寻器,用乌龟画一幅画等),但是它们都是用相同的样式编写的 像之前一样。

如果name__ =='__main',不建议写

  • 首先,如果只有一个文件,因为不可能导出。

  • 其次,如果有多个文件,强烈建议不要将此句子写在入口文件(main.py)中。 从理论上讲,因为它是起点,所以不应导出其内容以供其他模块使用。

  • 最后,也不建议在具有多个文件的非进入文件中写入此判断,因为最多可以做的就是编写其中一些测试代码。  尽管如此,测试代码仍应分开并写在专用目录或文件中。

看完上述内容,你们掌握Python中没有main函数的原因是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI