没有main函数可以运行吗,没有main方法怎么运行

  没有main函数可以运行吗,没有main方法怎么运行

  Python为什么没有main函数?

  为什么我也不推荐呢?

  Python确实没有所谓的主门户,但是网上经常有关于“Python的主函数”和“创建主函数的建议”的文章。

  他们的目的可能是模仿真实的主要功能,但是很多人都被误解了,写了很麻烦的代码。

  至于为什么要用“Python”系列,我们就讨论一下为什么Python没有main函数。最后,获得本系列前两个故事的链接。

  在开始正题之前,我们先回答以下两个问题。

  所谓“主要功能”是什么意思?

  为什么有些编程语言需要强制编写主函数?

  有些编程语言使用main函数作为程序执行的入口。比如C/C,C#,Java,Go,Rust等。它们都有特定的含义。

  主函数名是必需的。这意味着需要main函数。

  最多只能有一个主函数。这意味着程序中的条目是唯一的。

  语法有具体要求,有相对固定的模板。

  为什么一定要强制执行main函数?

  这些语言都是编译语言,所以必须定义这个函数,因为操作系统/引导程序必须把代码编译成可执行的二进制文件才能找到程序的起始点。

  简单地说,你需要在许多可用于执行的代码中定义一个重要的开始。

  可见主功能是这些语言不可或缺的有机组成部分。

  但是,再看Python,情况就大不一样了。

  每个。py文件是一个可执行文件,可以作为整个程序的门户文件。这意味着程序入口是灵活的,不需要遵循规则。

  运行Python项目时,您可能没有指定条目文件。经常在命令行上使用,比如‘python-m http . server 8000’。它是main.pya文件的存在,在包中作为“文件”运行。

  这意味着脚本语言Python不同于编译语言。无论是单模块级别(。py文件或由多个模块组成的包级),可以选择灵活的执行方式,这是不同于其他语言定义的条目。

  这意味着Python不需要程序员在语法级别定义统一的条目(函数、类或其他)。

  有些学生很困惑,因为他们经常自己阅读或编写下面的代码。

  #mainfiledefmain():

  ……

  if__name__==__main__ :

  main())

  这不就是Python的主要功能吗?我相信我们大多数人都是这么想的!

  不,不是的。

  除了函数名是“main”,和前面介绍的正统main函数没有半分关系。它不是强制性的,程序的执行顺序是不确定的。没有它,就不会有语法问题。

  有些人想命名为“主”功能,实际上是想强调“主入口”的状态,将其配置为手动执行的第一个功能。

  他们可能会发现这样命名的函数更容易记忆。

  他们之所以写_ _ name _== main ,可能是想说明(main))只在直接执行当前脚本时执行,而不是导入到其他模块时执行。

  但是,我个人不推荐这个标志。

  最明显的例子:只有几十行代码或脚本文件实现简单的功能,但都是用和以前一样的风格写的。

  当name__==__main 时,不建议写

  首先,因为如果只有一个文件,是无法导出的。

  然后,如果有多个文件,强烈建议不要把这个语句写到portal文件(main.py)中。从理论上讲,它是一个起点,所以它的内容不应该被导出并用于其他模块。

  最后,不建议将此判断写入包含多个文件的非输入文件。因为你最多只能写一部分测试代码。然而,测试代码应该在一个专用的目录或文件中单独编写。

  每次看到这些麻烦的代码,想都没想,就难受。为什么要写这个if文本?如果可能的话,把主函数拆分,不要把它包装成一个函数。

  总结

  打破惯性思维,写实际代码。主输入函数在某些语言中是唯一的,不应该在Python中使用。你需要了解脚本语言的特点,创建简单优雅的风格。

  Main(使用main.py而不是)。由于Python的程序执行单元是脚本文件,而不是函数或类,所以建议将门户文件命名为main.py,并根据需要确定内部函数。

  如果可能,使用main.py作为门户文件。该文件可以直接与命令行中的“-m”参数结合使用。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: