当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python main()用法及代码示例


在本教程中,我们将学习 Python 编程语言中的 main() 函数。我们还将了解如何在 Python 程序中利用 __name__ 属性,以便在各种上下文中动态执行它。

让我们从了解 Python 中的 main() 函数开始。

理解 Python 中的 main() 函数

main() 被认为是多种编程语言的独特函数,也称为程序文件的执行点。但是,Python 编程语言的解释器从文件顶部开始执行每一行 serial-wise,并且没有显式的 main() 函数。

Python 提供了其他约定来定义执行点。其中之一是利用 main() 函数以及 python 文件的 __name__ 属性。

现在,让我们了解 Python 编程语言中的 __name__ 属性。

理解 Python 中的 __name__ 属性

__name__ 属性是 Python 中唯一的核心变量,用于显示当前模块的名称。

此属性根据我们运行 Python 文件的位置提供不同的值。让我们考虑一个例子来更好地理解 __name__ 属性。

将 Python 文件作为脚本执行

让我们考虑一下我们有一个名为 myworld.py 的 Python 文件,其中包含以下内容:

文件:myworld.py

print(__name__)

输出:

$ python myworld.py
__main__

说明:

在上面的程序文件中,我们打印了 __name__ 属性的值。因此,__name__ 变量的值被设置为 __main__。

将 Python 文件作为模块执行

我们还可以将 Python 文件作为模块执行。为了执行此操作,我们需要将所需文件导入另一个 Python 程序。让我们考虑以下示例以正确理解该概念。

假设我们在与 myworld.py 文件相同的目录中创建了一个 Python 文件 python_main.py,其内容如下:

文件:python_main.py

import myworld

输出:

$ python python_main.py
myworld

说明:

在上面的程序文件中,我们导入了一个模块作为 myworld.m 。结果,当我们执行 python_main.py 文件时,程序运行了模块文件中的完整代码。但是,我们可以观察到显示模块名称为 myworld 而不是显示 __main__。

发生这种情况是因为,在将 Python 文件作为模块执行的上下文中,模块名称本身被分配给 __name__ 变量。

将 if 语句与 __name__ 变量一起使用

由于我们已经正确理解了 __name__ 属性是如何赋值的,我们可以利用 if 语句在不同的上下文中以不同的方式运行相同的 Python 文件。

让我们考虑以下示例,其中更改了 myworld.py 文件的内容。

文件:myworld.py

def main():
    print("This is my Python program.")

if __name__ == "__main__":
    main()

输出:

$ python myworld.py
This is my Python program.

说明:

在上面的代码片段中,我们定义了一个函数 main() 来为用户打印一些字符串。然后我们使用 if 条件子句来检查 __name__ 变量的值是否等于 __main__,然后 main() 函数将执行。结果,当我们执行 myworld.py 文件时,会为用户打印字符串消息。

但是,当我们通过将文件导入 python_main.py 将文件作为模块执行时,由于未调用 main() 函数,程序不返回任何输出。

因此,我们可以得出结论,我们在 myworld.py 文件中定义的自定义 main() 函数只能作为独立脚本执行,而不能作为导入模块执行。

这是在 Python 中显式定义 main() 函数的标准方法。它是 Python 文件的 __name__ 属性最流行的用例之一。





相关用法


注:本文由纯净天空筛选整理自 Python main() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。