大学写Python脚本加上这个

如题所述

写Python脚本一定要加上这个!

写Python脚本, 一定要加上这个

使用Python的人, 平时经常会写一些脚本, 不管是为了提升

工作效率, 还是为了满足一些特定的需求, Python脚本都是

一个常见又有用的东西。

但是,我最近发现了一个以前不曾察觉的问题,就是脚本里面是

否添加if_name_=="_main_":这个语句, 对脚本的使用

其实是有很大影响的,并且这里面还有很大的学问。

常见误区

很多朋友在写脚本时比较随意,简单的脚本直接一溜写下来,没

有函数,顺序执行。复杂点的脚本,可能会加函数。这种写法可

读性比较差,经常让人一眼找不到程序运行的入口和顺序。

而Python社区比较推荐的写法是在写脚本时, 加上下面这个

语句:

写Python脚本, 一定要加上这个

大多数人看到这里,会不会说,这有什么,加不加这个没那么重

要吧!

先不要忙着不屑,让我们一起来仔细掰扯掰扯!

有什么用

在具体说明if_name_=='_main_'的作用前, 先从一个简

单的实例直观上感受一下。

我们看下area.py的运行结果:

的PI变量, 在运行的时候, const.py中函数train() 中的打

印也带过来了,而我们只是引用变量,并没有引用函数,所以这

是我们不愿意看到的。

解决这个问题的方法也很简单, 我们只需在const.py中加上

一句:

再次运行area.py, 输出结果如下:

这是我们预期的结果。

程序运行入口

丛上述实例可以发现, 如果没有if_name_=="_main_":,

作为area.py导入文件时const.py中的所有代码都被执行

了,而加上之后就只运行导入的部分代码。

这就是if_name_=="_main_":显而易见的作用, 实际上

if_name_=="_main_":就相当于是Python模拟的程序

入口。由于模块之间相互引用,不同模块可能都有这样的定义,

而入口程序只能有一个, 选中哪个入口程序取决于__name_的值。




温馨提示:答案为网友推荐,仅供参考
相似回答