python的main函数 python的main函数里面可以有for循环吗?( 二 )


def
xxxx():
#body
if
__name__="__main__":
print
"asdf"
在Python中定义Main函数目录
许多编程语言都有一个特殊的函数,当操作系统开始运行程序时会自动执行该函数 。这个函数通常被命名为main(),并且依据语言标准具有特定的返回类型和参数 。另一方面,Python解释器从文件顶部开始执行脚本,并且没有自动执行的特殊函数 。
尽管如此,为程序的执行定义一个起始点有助于理解程序是如何运行的 。Python程序员提出了几种方式对此进行实现 。
本文结束时 , 您将了解以下内容:
Python中的基本main()函数
一些Python脚本中,包含一个函数定义和一个条件语句,如下所示:
此代码中,包含一个main()函数,在程序执行时打印Hello World! 。此外,还包含一个条件(或if)语句,用于检查__name__的值并将其与字符串"__main__"进行比较 。当if语句为True时 , Python解释器将执行main()函数 。更多关于Python条件语句的信息可以由此获得 。
这种代码模式在Python文件中非常常见 , 它将作为脚本执行并导入另一个模块 。为了帮助理解这段代码的执行方式,首先需要了解Python解释器如何根据代码的执行方式设置__name__ 。
Python中的执行模式
Python解释器执行代码有两种方式:
更多内容可参考如何运行Python脚本 。无论采用哪种方式,Python都会定义一个名为__name__的特殊变量,该变量包含一个字符串,其值取决于代码的使用方式 。
本文将如下示例文件保存为execution_methods.py,以 探索 代码如何根据上下文改变行为:
在此文件中,定义了三个对print()函数的调用 。前两个打印一些介绍性短语 。第三个print()会先打印短语The value __name__ is,之后将使用Python内置的repr()函数打印出__name__变量 。
在Python中 , repr()函数将对象转化为供解释器读取的形式 。上述示例通过使用repr()函数来强调__name__的值为字符串 。更多关于repr()的内容可参考Python文档 。
在本文中,您将随处可见文件(file) , 模块(module)和脚本(script)这三个字眼 。实际上,三者之间并无太大的差别 。不过,在强调代码目的时,还是存在细微的差异:
“如何运行Python脚本”一文也讨论了三者的差别 。
基于命令行执行
在这类方法中,Python脚本将通过命令行来执行 。
执行脚本时,无法与Python解释器正在执行的代码交互 。关于如何通过命令行执行代码的详细信息对本文而言并不重要,但您可以通过展开下框阅读更多有关Windows , Linux和macOS之间命令行差异的内容 。
命令行环境
不同的操作系统在使用命令行执行代码时存在细微的差异 。
在Linux和macOS中,通常使用如下命令:
美元符号($)之前的内容可能有所不同,具体取决于您的用户名和计算机名称 。您键入的命令位于$之后 。在Linux或macOS上,Python3的可执行文件名为python3 , 因此可以通过输入python3 script_name.py来运行python脚本 。
在Windows上,命令提示符通常如下所示:
根据您的用户名,之前的内容可能会有所不同,您输入的命令位于之后 。在Windows上,Python3的可执行文件通常为python 。因此可以通过输入python script_name.py来运行python脚本 。
无论哪种操作系统,本文的Python脚本的输出结果都是相同的 。因此本文以Linux和macOS为例 。
使用命令行执行execution_methods.py,如下所示:
在这个示例中,__name__具有值'__main__' , 其中引号(')表明该值为字符串类型 。

推荐阅读