广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python的__name__变量有什么作用
  • 262
分享到

Python的__name__变量有什么作用

2023-06-01 23:06:11 262人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“python的__name__变量有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的__name__变量有什么作用”吧!我知道大家肯定不止一次在Python

本篇内容主要讲解“python的__name__变量有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python的__name__变量有什么作用”吧!

我知道大家肯定不止一次在Python 脚本里见到过 __name__ 这个变量。它大多是以这样的方式出现在我们的程序里:

if __name__ == '__main__':
   main()

我知道你肯定看到过,那么你真正了解__name__吗?

本期Python教程就带大家来好好认识认识这个内置变量,以及这个内置变量的用法,示范一下在你写的 Python 模组里怎么用到它。

不知道__name__ 拿来做什么的?

作为 Python 的内置变量,__name__变量(前后各有两个下划线)确实还是挺特殊。它是每个 Python 模块必备的属性,但它的值取决于你是如何执行这段代码的。

在许多情况下,你的代码不可能全部都放在同一个文件里,或者你在这个文件里写的函数,在其他地方也可以用到。为了更高效地重用这些代码,你需要在 Python 程序中导入来自其他文件的代码。

所以,在__name__ 变量的帮助下,你可以判断出这时代码是被直接运行,还是被导入到其他程序中去了。

这个 __name__ 变量可能取什么值?

当你直接执行一段脚本的时候,这段脚本的 __name__变量等于 '__main__',当这段脚本被导入其他程序的时候,__name__ 变量等于脚本本身的名字。

下面,让我举两个栗子来说明一下

情况 1 - 直接运行脚本

假设我们有一个nameScript.py,代码如下:

def myFunction():
   print('变量 __name__ 的值是 ' + __name__)
def main():
   myFunction()
if __name__ == '__main__':
   main()

当你直接执行 nameScript.py 时,流程是这样处理的:

Python的__name__变量有什么作用

在所有其他代码执行之前,__name__变量就被设置为 '__main__' 了。在此之后,通过执行 def 语句,函数 main() 和 myFunction() 的本体被载入。

接着,因为这个 if 语句后面的表达式为真 true,函数 main() 就被调用了。而 main() 函数又调用了myFunction(),打印出变量的值'__main__'。

情况 2 - 从其他脚本里导入

如果你需要在其他脚本里重用这个 myFunction() 函数,比如在 importingScript.py 里,我们可以将 nameScript.py 作为一个模组导入。

假设 importingScript.py 的内容如下:

import nameScript as ns
ns.myFunction()

这时,我们就有了两个不同的作用域:一个是 importingScript 的,一个是 nameScript的。让我画个示意图,你就能看出这和之前的区别了:

Python的__name__变量有什么作用

在 importingScript.py 里,__name__ 变量就被设置为 '__main__'。当导入 nameScript的时候,Python 就在本地和环境变量 PATH 指向的路径中寻找对应名称的 .py 文件,找到之后,将会运行导入的文件中的代码。

但这一次,在导入的时候,它自身的 __name__ 变量就被设置为了 'nameScript',接下来还是一样,函数 main() 和 myFunction() 的本体被载入。然而,这一次 if 语句后面的表达式结果为假 false,所以 main() 函数没有被调用。

导入完毕之后,回到 importingScript.py 中。现在 nameScript 模块中的函数定义已经被导入到当前的作用域中,于是我们通过 ns.myFunction() 的方式调用模块中的函数,这个函数返回的是模块内的变量的值 'nameScript'。

如果你试着在 importingScript 中打印 __name__ 变量的值,那当你直接执行importingScript 的时候,它也会输出 '__main__'。原因在于,这个变量是在importingScript 的作用域中的。

到此,相信大家对“Python的__name__变量有什么作用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Python的__name__变量有什么作用

本文链接: https://www.lsjlt.com/news/227981.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python的__name__变量有什么作用
    本篇内容主要讲解“Python的__name__变量有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的__name__变量有什么作用”吧!我知道大家肯定不止一次在Python...
    99+
    2023-06-01
  • Python代码中if __name__ == ‘__main__‘有什么作用
    本篇内容介绍了“Python代码中if __name__ == ‘__main__‘有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希...
    99+
    2023-06-29
  • python中全局变量的作用域有什么用
    全局变量在Python中的作用域是整个程序的范围,可以在程序的任何地方使用和修改。这样的特性有以下几个用途:1. 共享数据:全局变量...
    99+
    2023-08-12
    python
  • 聊聊Python代码中if __name__ == ‘__main__‘的作用是什么
    目录Python中if __name__ == ‘__main__‘作用补充:if __name__ == '__main__':的运行原理总...
    99+
    2022-11-13
  • python中什么是变量作用域
    这篇文章给大家介绍python中什么是变量作用域,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动...
    99+
    2023-06-14
  • python类变量和成员变量有什么区别
    在Python中,类变量和成员变量是两种不同类型的变量。类变量是在类的定义中声明的变量,它是类的所有实例共享的属性。当类变量的值被修...
    99+
    2023-10-10
    python
  • python中类变量和实例变量有什么区别
    这篇文章给大家介绍python中类变量和实例变量有什么区别,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、...
    99+
    2023-06-14
  • python全局变量和局部变量有什么区别
    Python中的全局变量和局部变量的区别如下:1. 作用域:全局变量在整个程序中都是可见的,可以在任何地方访问。而局部变量只在定义它...
    99+
    2023-08-12
    python
  • Python中变量作用域是什么意思
    这篇文章主要讲解了“Python中变量作用域是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中变量作用域是什么意思”吧!我们经常听说Python函数访问局部变量、全局变量...
    99+
    2023-06-15
  • Angular中的模板引用变量有什么作用
    这篇文章主要介绍了Angular中的模板引用变量有什么作用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Angular中的模板引用变量有什么作用文章都会有所收获,下面我们一起来...
    99+
    2022-10-19
  • python私有变量的本质是什么
    小编给大家分享一下python私有变量的本质是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python是什么意思Python是一种跨平台的、具有解释性、编译...
    99+
    2023-06-14
  • java环境变量配置有什么作用
    java环境变量配置的作用有:1、找到JDK的安装路径;2、允许全局访问Java命令;3、简化编译和运行Java程序;4、提高开发效率。Java 环境变量配置的作用主要体现在以下几个方面:找到 JDK 的安装路径:通过配置 JAVA_HOM...
    99+
    2023-07-31
  • Python中变量的作用域
    一、变量作用域的含义 变量的作用域说白了就是变量的值从哪里获取,或者说变量取值的地方 我们在写代码过程中会用到很多变量,这些变量会出现在各种代码块中,有的出现在函数块里,有的在函数块外,例如: def n2(): a = 1 ...
    99+
    2023-01-30
    变量 作用 Python
  • python变量的作用域一
    #6.2变量的作用域,是变量的可访问范围,也称为命名空间。在第一次#给变量赋值时,python创建变量。第一次给变量赋值的位置决定了变量的作用域。#作用域类型#一个程序通常包含了变量、函数和其他语句。变量和函数涉及可访问范围。一个程序中的变...
    99+
    2023-01-31
    变量 作用 python
  • VB.NET变量有什么用
    这篇文章主要为大家展示了“VB.NET变量有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET变量有什么用”这篇文章吧。VB.NET变量用来存储程序中需要处理的数据,用户可以把变量...
    99+
    2023-06-17
  • Python编程中的if __name__ == 'main' 的作用和原理是什么
    这篇文章主要介绍“Python编程中的if __name__ == 'main' 的作用和原理是什么”,在日常操作中,相信很多人在Python编程中的if __name__ == 'main' 的作用和原理是...
    99+
    2023-06-16
  • python中全局变量和局部变量有什么区别
    python中全局变量和局部变量有什么区别?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;...
    99+
    2023-06-14
  • TypeScript 02中的变量和接口有什么作用
    这篇文章主要介绍“TypeScript 02中的变量和接口有什么作用”,在日常操作中,相信很多人在TypeScript 02中的变量和接口有什么作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2022-10-19
  • python中变量的作用域类型有哪些
    python中变量的作用域类型有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt...
    99+
    2023-06-14
  • javascript中变量的作用是什么
    javascript中变量的作用是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在javascript中,变量是临时存储值的容器,可以...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作