广告
返回顶部
首页 > 资讯 > 后端开发 > Python >详解Python 中的命名空间、变量和范围
  • 353
分享到

详解Python 中的命名空间、变量和范围

2024-04-02 19:04:59 353人浏览 泡泡鱼

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

摘要

目录python 中的命名空间、变量和范围什么是命名空间?变量和表达式变量范围Python 中的命名空间、变量和范围 什么是命名空间? 首先,我们需要感知python中的名称(标识符

Python 中的命名空间、变量和范围

什么是命名空间?

首先,我们需要感知python中的名称(标识符)是什么。众所周知,在python中,一切都是对象。名称帮助我们访问底层对象。例如,当我们做作业时 a = 1 , 1 是存储在内存中的对象,a 是我们与之关联的名称。我们可以通过内置函数获取某个对象的地址(在 RAM 中), ID() .让我们看看如何使用它。

 a = 1  
 打印('id(1)=',id(1))  
  
 打印('id(a)=',id(a)) 输出: id(1) = 9801248  
 id(a) = 9801248

在这里,两者都指同一个对象 1 ,所以他们拥有相同的id。

现在我们知道了名称是什么,我们可以继续讨论名称空间的概念。简单地说,命名空间是名称的集合。在 Python 中,您可以将命名空间想象为您定义的每个名称到相应对象的映射。不同的命名空间可以在给定时间共存,但完全隔离。当我们启动 Python 解释器时,会创建一个包含所有内置名称的命名空间,并且只要解释器​​运行,它就存在。这就是内置函数像 ID() , 打印() 我们始终可以从程序的任何部分获得等。每个模块创建自己的全局命名空间。这些不同的命名空间是隔离的。因此,不同模块中可能存在的相同名称不会发生冲突。

变量和表达式

要将现实世界的问题转化为可以通过算法解决的问题,有两个相互关联的任务。首先,选择变量,其次,找到与这些变量相关的表达式。变量是附加在对象上的标签;它们不是对象本身。它们也不是对象的容器。变量不包含对象,而是充当对象的指针或引用。例如,考虑以下代码:

在这里,我们创建了一个变量 a,它指向一个列表对象。我们创建另一个变量 b,它指向同一个列表对象。当我们向这个列表对象追加一个元素时,这种变化会同时反映在 a 和 b 中。

Python 是一种动态类型语言。在程序执行期间,变量名可以绑定到不同的值和类型。例如,每个值都是类型、字符串或整数;但是,指向该值的名称没有特定类型。这与许多语言(例如 C 和 Java)不同,其中名称表示内存中的固定大小、类型和位置。这意味着当我们在 Python 中初始化变量时,我们不需要声明类型。此外,变量,或者更具体地说是它们指向的对象,可以根据分配给它们的值更改类型,例如:

变量范围

了解函数内部变量的作用域规则很重要。每次执行函数时,都会创建一个新的本地命名空间。这表示一个本地环境,其中包含由函数分配的参数和变量的名称。为了在调用函数时解析命名空间,Python 解释器首先搜索本地命名空间(即函数本身),如果未找到匹配项,则搜索全局命名空间。这个全局命名空间是定义函数的模块。如果仍未找到该名称,它将搜索内置命名空间。最后,如果失败,则解释器会引发 NameError 异常。考虑以下代码:

在示例中,定义了两个全局变量。我们需要使用关键字 global 告诉解释器,在函数内部,我们指的是一个全局变量。当我们将此变量更改为 11 时,这些更改会反映在全局范围内。但是,我们设置为 21 的变量 b 是函数的局部变量,函数内部对其所做的任何更改都不会反映在全局范围内。当我们运行函数并打印 b 时,我们看到它保留了它的全局值。

到此这篇关于Python 中的命名空间、变量和范围的文章就介绍到这了,更多相关Python命名空间内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解Python 中的命名空间、变量和范围

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

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

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

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

下载Word文档
猜你喜欢
  • 详解Python 中的命名空间、变量和范围
    目录Python 中的命名空间、变量和范围什么是命名空间?变量和表达式变量范围Python 中的命名空间、变量和范围 什么是命名空间? 首先,我们需要感知python中的名称(标识符...
    99+
    2022-11-11
  • 详解JavaScript中的变量命名规范
    目录驼峰命名根据变量类型来命名普通变量/属性布尔变量/属性普通函数/方法回调、钩子函数类注意一致性介词一致性顺序一致性表里一致性时间一致性其他注意事项避免使用不常用的缩写避免使用容易...
    99+
    2022-12-12
    JavaScript变量命名规范 JavaScript 命名规范 JavaScript变量命名
  • 深入了解python全局变量,局部变量和命名空间
    目录函数中的全局和局部变量嵌套函数中的全局变量非局部变量Python 使用全局和局部变量的方式是特立独行的。虽然在许多或大多数其他编程语言中,如果未另行声明,变量将被视为全局变量,而...
    99+
    2022-11-12
  • 怎么理解python全局变量,局部变量和命名空间
    本篇内容介绍了“怎么理解python全局变量,局部变量和命名空间”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python 使用全局和局部变...
    99+
    2023-06-22
  • Python变量命名规则和定义变量详解
    目录一、定义变量二、定义变量的规则总结 一、定义变量 语法规则: 变量名 = 值 定义变量的语法规则中间的‘=',并不是数学中等于号的意思,在编程语言中而是赋值的意思。赋值:其...
    99+
    2022-11-12
  • 详解PHP中的命名空间
    命名空间其实早在PHP5.3就已经出现了。不过大部分同学可能在各种框架的使用中才会接触到命名空间的内容,当然,现代化的开发也都离不开这些能够快速产出的框架。这次我们不从框架的角度,仅...
    99+
    2022-11-12
  • 详解Python中的变量及其命名和打印
    在程序中,变量就是一个名称,让我们更加方便记忆。 cars = 100 space_in_a_car = 4.0 drivers = 30 passengers = 90 cars_not_d...
    99+
    2022-06-04
    变量 详解 Python
  • 关于java中变量命名规范的详细介绍
    Java是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包、类、变量等的命名规范。(一)Package(包)的命名Package的名字应该都是由一个小写单词组成...
    99+
    2019-10-05
    java入门 java 变量 命名规范 介绍
  • python中的变量命名规则详情
    目录1.变量命名1)命名的规范性2)编程语言常用驼峰命名法2. 变量命名的描述性3.变量名尽量短,但是不要太短4.合理使用变量5. 变量定义尽量靠近使用6. 合理使用namedtup...
    99+
    2022-11-13
  • Python中规范定义命名空间的一些建议
    API的设计是一个艺术活。往往需要其简单、易懂、整洁、不累赘。 很多时候,我们在底层封装一个方法给高层用,而其它的方法只是为了辅助这个方法的。 也就是说我们只需要暴露这个方法就行,不用关心这个方法是怎么实现...
    99+
    2022-06-04
    定义 建议 空间
  • jQuery中绑定事件的命名空间详解
    在没有看到这篇 文章之前,我一直不知道原来bind也可以有命名空间。事实上,我看完这篇文章后,再去翻了一下手册,也才发现了一点点的注释。但手册也仅仅是一句话就带 过去了。没有过多的深...
    99+
    2022-11-21
    jQuery 绑定事件
  • 示例详解C++语言中的命名空间 (namespace)
    目录前言1. 命名空间 2. using 指令 3. 不连续的命名空间 4. 嵌套的命名空间 5. 命名空间内变量、函数、全局变量的作用域5.1 using namespace fi...
    99+
    2022-11-12
  • 解读Python编程中的命名空间与作用域
    变量是拥有匹配对象的名字(标识符)。命名空间是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典。 一个Python表达式可以访问局部命名空间和全局命名空间里的变量。如果一个局部变量和一个全局变量...
    99+
    2022-06-04
    作用 空间 Python
  • Python中的变量和作用域详解
    作用域介绍 python中的作用域分4种情况: L:local,局部作用域,即函数中定义的变量; E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的; G...
    99+
    2022-06-04
    变量 详解 作用
  • Python中将字典转换为XML以及相关的命名空间解析
    尽管 xml.etree.ElementTree 库通常用来做解析工作,其实它也可以创建XML文档。 例如,考虑如下这个函数: from xml.etree.ElementTree import Ele...
    99+
    2022-06-04
    转换为 中将 字典
  • python 函数、变量中单下划线和双下划线的区别详解
    目录一、_func 单下划线开头 --口头私有变量1.1、在模块中使用单下划线开头1.2、在类中使用单下划线开头二、__func 双下划线开头的函数 --私有变量2.1、在模块中使用...
    99+
    2023-01-28
    python 单下划线 python 双下划线 python单下划线和双下划线
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作