前言
浏览python文件或直接写python代码时,经常在代码末尾添加这样的代码行。
If _ _ name _ _==' _ _ main _ _ ' :
Func_name()那么这一行代码有什么具体作用呢?不加的话会影响我们的结果吗?
__name__
首先,对于以双下划线开始和结束的变量,在python中称为内置变量。_ _ NAME _ _ _,我们常见的是_ _ INIT _ _ _ _ _ _ DICT _ _ _,在下面的交互界面中输入以下命令,可以同时看到python内置变量和内置函数。
Dir(__builtins__)的结果如下图所示。
不同情况下的 __name__ 的值
首先,您需要知道__name__可以根据情况有不同的值。其值取决于脚本的运行方式。通过一些例子可以感受到。
Example 0
#
直接执行Print(f'__name__值为{__name__} ')的以下代码
$ python,看输出
$ python
__name__值__main__本例中__name__的值为_ _ main _ _ _
Example 1
此示例重新创建脚本,然后由调用
#
Import测试
执行Print(f'__name__值{__name__} '),然后查看输出
python
__name__值为test时
__name__值为__main__的结果不是很有趣吗?整个过程是什么样子的?简单地画了一幅画
什么时候使用 __name__
有时使用Python编写脚本。希望这个脚本能单独运行,希望能在其他脚本上运行。此时应考虑使用__name__。改造上面的Example 1的例子,直观地感受一下。
修改一下文件
#
Def hello(name):
打印(f ' hello,{name} ')
If _ _ name _ _==' _ _ main _ _ ' :
hello(“测试”)再次修改文档
#
From test import hello
Hello('test1 ')然后让我们自己运行。此时,将满足if语句条件,并输出Hello、test
$ python
Hello,test如果这次我们运行,程序将输出Hello,test1。
$ python
Hello,test1如果我们减去if _ _ name _ _==' _ _ main _ _ ',会怎么样?
$ python
hello,测试
test1,test1
1.《#NAME?看这里!「Python」__name__ 是什么?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《#NAME?看这里!「Python」__name__ 是什么?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/caijing/2216241.html