python特殊变量name_一文掌握 __name__ 变量和在Python中的用法

发布时间:2024-06-15 15:01

原标题:一文掌握 __name__ 变量和在Python中的用法

在研究Python代码时,你可能经常会看到__name__变量。下面是一个示例代码:

if__name__ == \'__main__\':

main

下面,我们将向你展示如何使用这个变量在Python中创建模块。

为什么使用__name__变量?

__name__变量(前后两个下划线)是一个特殊的Python变量。它的值取决于我们如何执行包含它的脚本。

有时候,在编写的脚本中包含的函数可能在其他脚本中也很有用。在Python中,你可以将该脚本作为模块导入到另一个脚本中。

由于这个特殊的变量,你可以决定是否要运行脚本。或者希望导入脚本中定义的函数。

__name__变量包含哪些值?

运行脚本时,__name__变量等于__main__。当你导入包含脚本时,它将包含脚本的名称。

让我们看一下这两个用法,并用两个例子描述这个过程。

场景1:运行脚本

假设我们编写的脚本name.py如下:

defmyFunction:

print\'The value of __name__ is \'+ __name__

defmain:

myFunction

if__name__ == \'__main__\':

main

如果你运行name.py,过程如下:

\"\"

在运行所有其他代码之前,将__name__变量设置为__main__。然后,运行main和myFunctiondef声明。因为条件的值为true,所以调用main函数。反过来调用myFunction。打印出__main__的值。

场景2:在另一个脚本中导入脚本

如果我们想在另一个脚本中重用myFunction,例如importing.py。我们可以将namespace .py作为模块导入。

importing.py的代码如下:

importname asns

ns.myFunction

然后我们有两个作用域:一个是importing,另一个是name。在下图中,你会看到它与第一个例子的不同之处。

\"\"

在importing.py中,将__name__变量设置为__main__。通过导入name,Python开始通过在模块名中添加.py来查找文件。然后运行导入文件中包含的代码。

但这次它被设置为name。再次运行main和myFunction的def语句。但是,现在条件计算为false,main未被调用。

在importing.py中,我们调用myFunction来输出name。myFunction在定义函数时知道Name。

如果你要在importing中打印__name__,那么将输出__main__。原因是Python使用了importing范围内已知的值。

总结

在这篇简短的文章中,我们解释了如何使用__name__变量来编写模块。你还可以自己运行这些模块进行测试和使用。返回搜狐,查看更多

责任编辑:

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号