当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python globals()用法及代码示例


globals() 方法返回当前全局符号表的字典。

符号表是由编译器维护的数据结构,其中包含有关程序的所有必要信息。

这些包括变量名、方法、类等。

符号表主要有两种。

  1. 局部符号表
  2. 全局符号表

当地的符号表存储与程序本地范围相关的所有信息,并在 Python 中使用locals方法。

本地范围可以在函数内、类内等。

同样,一个全局的符号表存储与程序全局范围相关的所有信息,在 Python 中使用globals()方法。

全局范围包含所有与任何类或函数无关的函数、变量。

用法:

globals 表字典是当前模块的字典(在函数内部,这是定义它的模块,而不是调用它的模块)。

用法:

globals()

参数:

globals() 方法不带任何参数。

返回:

globals()方法返回当前全局符号表的字典。

示例 1:globals() 方法在 Python 中如何工作?

globals()

输出

{'In': ['', 'globals()'],
 'Out': {},
 '_': '',
 '__': '',
 '___': '',
 '__builtin__': <module 'builtins' (built-in)>,
 '__builtins__': <module 'builtins' (built-in)>,
 '__name__': '__main__',
 '_dh': ['/home/repl'],
 '_i': '',
 '_i1': 'globals()',
 '_ih': ['', 'globals()'],
 '_ii': '',
 '_iii': '',
 '_oh': {},
 '_sh': <module 'IPython.core.shadowns' from '/usr/local/lib/python3.5/dist-packages/IPython/core/shadowns.py'>,
 'exit': <IPython.core.autocall.ExitAutocall at 0x7fbc60ca6c50>,
 'get_ipython': <bound method InteractiveShell.get_ipython of <IPython.core.interactiveshell.InteractiveShell object at 0x7fbc6478ee48>>,
 'quit': <IPython.core.autocall.ExitAutocall at 0x7fbc60ca6c50>}

输出显示当前程序的所有全局变量和其他符号。

示例 2:使用 global() 修改全局变量

age = 23

globals()['age'] = 25
print('The age is:', age)

输出

The age is: 25

这里,由于全局符号表还存储了所有全局变量,即在这种情况下为 age ,因此可以使用 globals() 函数更改 age 的值。

使用变量age 的键访问返回的字典并修改为 25。

这再次反映在全局符号表中。

相关用法


注:本文由纯净天空筛选整理自 Python globals()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。