iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python内置函数locals()和globals()怎么用
  • 273
分享到

python内置函数locals()和globals()怎么用

2023-06-28 02:06:01 273人浏览 泡泡鱼

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

摘要

本篇内容主要讲解“python内置函数locals()和globals()怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python内置函数locals()和globals()怎么用”吧!

本篇内容主要讲解“python内置函数locals()和globals()怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python内置函数locals()和globals()怎么用”吧!

python内置函数locals()和globals()怎么用

在理解这两个函数时,首先来理解一下 Python 中的名字空间概念。Python 使用叫做名字空间的东西来记录变量的轨迹。名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变量的值。

实际上,名字空间可以像 Python 的字典一样进行访问。

每个函数都有着自已的名字空间,叫做局部名字空间,它记录了函数的变量,包括函数的参数和局部定义的变量。每个模块拥有它自已的名字空间,叫做全局名字空间,它记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量。还有就是内置名字空间,任何模块均可访问它,它存放着内置的函数和异常。

当一行代码要使用变量 x 的值时,Python 会到所有可用的名字空间去查找变量,按照如下顺序:

  1. 局部名字空间 – 特指当前函数或类的方法。如果函数定义了一个局部变量 x,Python将使用这个变量,然后停止搜索。
  2. 全局名字空间 – 特指当前的模块。如果模块定义了一个名为 x 的变量,函数或类,Python将使用这个变量然后停止搜索。
  3. 内置名字空间 – 对每个模块都是全局的。作为最后的尝试,Python 将假设 x 是内置函数或变量。

如果 Python 在这些名字空间找不到 x,它将放弃查找并引发一个 NameError 的异常,同时传递 There is no variable named ‘x’ 这样一条信息。

局部变量函数 locals 例子(locals 返回一个名字/值对的字典):

实例

def foo(arg, a):   x = 1   y = 'xxxxxx'   for i in range(10):       j = 1       k = i   print(locals())#调用函数的打印结果    foo(1,2)#{'k': 9, 'j': 1, 'i': 9, 'y': 'xxxxxx', 'x': 1, 'a': 2, 'arg': 1}

from module importimport module 之间的不同。使用 import module,模块自身被导入,但是它保持着自已的名字空间,这就是为什么你需要使用模块名来访问它的函数或属性(module.function)的原因。但是使用 from module import,实际上是从另一个模块中将指定的函数和属性导入到你自己的名字空间,这就是为什么你可以直接访问它们却不需要引用它们所来源的模块的原因。

locals 是只读的,globals 不是。

locals 不可修改,globals 可以修改,原因是:

  1. locals() 实际上没有返回局部名字空间,它返回的是一个拷贝。所以对它进行修改,修改的是拷贝,而对实际的局部名字空间中的变量值并无影响。
  2. globals() 返回的是实际的全局名字空间,而不是一个拷贝与 locals 的行为完全相反。

所以对 globals 所返回的 dictionary 的任何的改动都会直接影响到全局变量的取值。

实例

#!/usr/bin/env python    z = 7 #定义全局变量  def foo(arg):     x = 1     print( locals() )     print('x=',x)   locals()['x'] = 2 #修改的是局部名字空间的拷贝,而实际的局部名字空间中的变量值并无影响。     print( locals() )   print( "x=",x )foo(3)  print( globals() )print( 'z=',z )globals()["z"] = 8 #globals()返回的是实际的全局名字空间,修改变量z的值  print( globals() )print( "z=",z )

输出结果为:

{'x': 1, 'arg': 3}x= 1{'x': 1, 'arg': 3}x= 1{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': , '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': 'test.py', '__cached__': None, 'z': 7, 'foo': }z= 7{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': , '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': 'test.py', '__cached__': None, 'z': 8, 'foo': }z= 8

到此,相信大家对“python内置函数locals()和globals()怎么用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: python内置函数locals()和globals()怎么用

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

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

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

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

下载Word文档
猜你喜欢
  • python内置函数locals()和globals()怎么用
    本篇内容主要讲解“python内置函数locals()和globals()怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python内置函数locals()和globals()怎么用”吧!...
    99+
    2023-06-28
  • Python 内置函数:——locals 和 globals介绍
    locals 和 globals这两个函数主要提供,基于字典的访问局部和全局变量的方式。在理解这两个函数时,首先来理解一下 Python 中的名字空间概念。Python 使用叫做名字空间的东西来记录变量的轨迹。名字空间只是一个字典,它的键字...
    99+
    2023-06-02
  • Python函数介绍:locals函数的功能和使用示例
    Python函数介绍:locals函数的功能和使用示例Python是一种广泛应用于各个领域的编程语言,其强大的函数特性帮助程序员有效地组织和管理代码。在Python中,有许多内置的函数可以帮助我们更好地完成编程任务。其中一个非常有用的函数是...
    99+
    2023-11-03
    Python函数 使用示例 locals函数
  • Python函数介绍:globals函数的功能和使用示例
    Python函数介绍:globals函数的功能和使用示例Python是一种功能强大的编程语言,提供了许多内置函数,其中globals()函数就是其中之一。本文将介绍globals()函数的功能和使用示例,并附带具体的代码示例。一、globa...
    99+
    2023-11-04
    Python函数 使用示例 globals函数
  • 怎么使用Python内置函数
    这篇文章主要介绍“怎么使用Python内置函数”,在日常操作中,相信很多人在怎么使用Python内置函数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Python内置函数”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-01
  • Python内置函数min、max怎么用
    min与max内置函数在Python中的使用方法min()函数作用:返回可迭代对象中的元素中的最小值或者所有参数的最小值用法:>>> min(1,2,3) # 传入3个参数 取3个中较小者1>>> min('1234') # 传入1个可迭代...
    99+
    2024-04-02
  • Python中的内置函数怎么用
    这篇“Python中的内置函数怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中的内置函数怎么用”文章吧。首...
    99+
    2023-06-29
  • Python常用内置函数怎么使用
    这篇文章主要介绍“Python常用内置函数怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python常用内置函数怎么使用”文章能帮助大家解决问题。一、abs()abs() 用于返回一个数的绝...
    99+
    2023-07-05
  • python定义内置函数怎么调用
    Python中的内置函数可以直接通过函数名来调用。例如,要调用内置函数print(),可以使用以下方式: print("H...
    99+
    2024-02-29
    python
  • python中的内置函数怎么使用
    Python中的内置函数是可直接使用的函数,不需要先导入任何模块。你可以直接在代码中调用这些函数来完成特定的操作。以下是一些常用的内...
    99+
    2023-09-07
    python
  • python中内置srted函数怎么使用
    srted内置函数在python的使用方法srted()函数是用于处理多种类型数据的排序。语法:sorted(iterable, cmp=None, key=None, reverse=False)注:iterable:可迭代对象。cmp:...
    99+
    2024-04-02
  • MySQL内置函数和自定义函数怎么使用
    这篇“MySQL内置函数和自定义函数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL内置函数和自定义函数怎么...
    99+
    2023-07-02
  • python内置函数和内置方法有什么区别
    python中内置函数与内置方法的区别有以下几种作用域不同内置函数的作用域:从函数调用开始至函数执行完成,返回给调用者后,在执行过程中开辟的空间会自动释放,也就是说函数执行完成后,函数体内部通过赋值等方式修改变量的值不会保留,会随着返回给调...
    99+
    2024-04-02
  • python-常用内置函数
    1.其他   - len / open / id / range / type 2.输入输出   - print / input  3.强制转换   - dict / list / tuple / int / str / bool / ...
    99+
    2023-01-31
    函数 常用 python
  • python内置函数有什么用
    python中内置函数的作用以下几点abs(x)求绝对值complex([real[, imag]]) 创建一个复数divmod(a, b) 分别取商和余数float([x]) 将一个字符串或数转换为浮点数,如果无参数将返回0.0int([...
    99+
    2024-04-02
  • python内置函数
    什么是内置函数 就是python给你提供的,拿来直接用的函数, 比如print 和 input等等. 截止到python版本3.6.2 python一共提供了68个内置函数. 他们就是python直接提供给我们的,有一些我们已经见过了. ...
    99+
    2023-01-30
    函数 python
  • python 内置函数
    python内置了一系列的常用函数,以便于我们使用python。基本的数据操作基本都是一些数学运算(当然除了加减乘除)、逻辑操作、集合操作、基本IO操作,然后就是对于语言自身的反射操作,还有就是字符串操作。官方文档:https://docs...
    99+
    2023-01-30
    函数 python
  • 怎么用Python内置函数降序排列
    在Python中使用内置函数进行降序排列的方法使用sort()函数语法:list.sort(cmp=None, key=None, reverse=False)注:cmp:可选参数, 如果指定了该参数会使用该参数的方法进行排序。key:主要...
    99+
    2024-04-02
  • python怎么用内置函数进行判断
    今天小编给大家分享一下python怎么用内置函数进行判断的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。内置函数bool()判...
    99+
    2023-06-30
  • 怎么用Python内置函数升序排列
    在Python中使用内置函数进行升序排列的方法使用sorted()函数语法:sorted(iterable, cmp=None, key=None, reverse=False)注:iterable:可迭代对象。cmp:比较的函数,这个具有...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作