在 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‘。最后,代码打印了更新后的值。