深入解析 Python globals() 函数

在 Python 中,我们使用 globals() 函数来返回全局符号表——这是一个字典,代表了当前模块或脚本中所有的全局变量。它为我们提供了对当前作用域内定义的全局变量的访问权限。当我们希望在程序执行期间动态检查或修改全局变量时,这个函数显得尤为有用。

Python globals() 语法

> globals()

返回值: globals() 函数返回一个字典,其中:

  • 键: 在脚本中全局定义的变量名称(以字符串形式表示)。
  • 值: 这些全局变量对应的值。

globals() 函数示例

示例 1:Python 全局方法的实际运作

在这个例子中,我们将使用 globals() 函数来展示在定义任何变量之前的全局符号表,以及在定义变量之后的全局符号表。

Python

print(globals())
print("")

p,q,r,s=10,100,1000,10000
print(globals())

输出

> {‘__name__‘: ‘__main__‘, ‘__doc__‘: None, ‘__package__‘: None, ‘__loader__‘:

> , ‘__spec__‘: None, ‘__annotations__‘: {},

> ‘__builtins__‘: }

>

> {‘__name__‘: ‘__main__‘, ‘__doc__‘: None, ‘__package__‘: None, ‘__loader__‘:

> , ‘__spec__‘: None, ‘__annotations__‘: {},

> ‘__builtins__‘: , ‘p‘: 10, ‘q‘: 100, ‘r‘: 1000,‘s‘:10000}

解释:

  • 第一个 print(globals()) 显示了初始的全局符号表,其中包含了内置的变量和函数。
  • 在定义了变量 INLINECODEeb71cb88, INLINECODEce4d43a9, INLINECODEd7e6714a, 和 INLINECODE16e214dd 之后,第二个 print(globals()) 展示了更新后的全局符号表,现在表中包含了这些变量及其对应的赋值。

示例 2:演示 Python globals() 函数

在这个例子中,我们将通过代码演示 Python 中 globals() 函数的作用。

Python

a = 5

def func():
    c = 10
    d = c + a
    
    globals()[‘a‘] = d
    print (a)
    
func()

输出

15

解释: 这段代码向我们展示了如何使用 INLINECODEcd4e164f 在函数内部修改全局变量。首先,全局范围内设定了 INLINECODE11b9151b。在函数内部,计算了局部变量 INLINECODE19e67d66 和 INLINECODE52169ee4,并通过 INLINECODEda786309 将全局变量 INLINECODE59cb0656 更新为 INLINECODE8deed280 的值(15)。最后,打印了更新后的 INLINECODEcf38f485 的值。

示例 3:在 Python 中使用 Globals 修改全局变量

在这个例子中,我们将利用 globals() 来修改 Python 中的全局变量。

Python

name = ‘Brijkant‘

print(‘Before modification:‘, name)

globals()[‘name‘] = ‘Brijkant Yadav‘
print(‘After modification:‘, name)

输出

Before modification: Brijkant
After modification: Brijkant Yadav

解释: 这段代码演示了使用 INLINECODE9ec8c54e 修改全局变量的过程。首先,设定了 INLINECODE1ce9104f。接着,通过 INLINECODE7dc426ac,我们将 INLINECODE3104c1d5 的值更新为了 ‘Brijkant Yadav‘。最后,代码打印了更新后的值。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/43808.html
点赞
0.00 平均评分 (0% 分数) - 0