if __name__ == '__main__' 如何正确理解?

如题所述

这段代码的功能。一个python的文件有两种使用的方法。第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。

代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。 源代码是代码的分支。

某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。

源代码是相对目标代码和可执行代码而言的。 源代码就是用汇编语言和高级语言写出来的地代码。目标代码是指源代码经过编译程序产生的能被cpu直接识别二进制代码。可执行代码就是将目标代码连接后形成的可执行文件,当然也是二进制的。

在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-11

if name == 'main’的意思是:

当.py文件被直接运行时,if name == 'main’之下的代码块将被配友烂运行;当.py文件以模块形式被导入时,if name == 'main’之下的代码块不被运行。

一个 Python 源码文件除了可以被直接运行外,还可以作为模块(也就是库)被导入。不管是导入还是直接运行,最顶层的代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入的时候,有一部分代码我们是不希望被运行的。

if __name__ == '__main__' 就相当于是 Python 模拟的程序入口。Python 本身并没有规定这么写,这只是一种培漏编码习惯。由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个。到底哪个入口程序被选中,这取决于 __name__ 的值。

举例子说明一下,假设有一个 ***.py 文件,内容如下:

PI = 3.14

def main():

print "PI:", PI

main()

扩展资料

如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,告高则代码块不被运行。实际上,这个问题还可以衍生出其他的一些知识点,例如 __main__.py 文件与 Python 的 -m 参数。

输出结果只列出了关键的部分,应该很容易看出他们之间的差异。直接运行是把 run.py 文件所在的目录放到了 ***.path 属性中。以模块方式运行是把你输入命令的目录(也就是当前工作路径),放到了 ***.path 属性中。

相似回答