globals() 方法返回当前全局符号表的字典。
符号表是由编译器维护的数据结构,其中包含有关程序的所有必要信息。
这些包括变量名、方法、类等。
符号表主要有两种。
- 局部符号表
- 全局符号表
当地的符号表存储与程序本地范围相关的所有信息,并在 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()用法及代码示例
- Python PIL getbands() and getextrema()用法及代码示例
- Python PIL getpixel()用法及代码示例
- Python getattr()用法及代码示例
- Python OpenCV getTrackbarPos()用法及代码示例
- Python OpenCV getgaussiankernel()用法及代码示例
- Python gzip.compress(s)用法及代码示例
- Python OpenCV getRotationMatrix2D()用法及代码示例
- Python numpy string greater_equal()用法及代码示例
- Python gcd()用法及代码示例
- Python PIL getbands()用法及代码示例
- Python Tkinter grid()用法及代码示例
- Python PIL getpalette()用法及代码示例
- Python PIL getcolors()用法及代码示例
- Python math gamma()用法及代码示例
- Python gzip.decompress(s)用法及代码示例
- Python torch.distributed.rpc.rpc_async用法及代码示例
- Python torch.nn.InstanceNorm3d用法及代码示例
- Python pandas.arrays.IntervalArray.is_empty用法及代码示例
- Python tf.compat.v1.distributions.Multinomial.stddev用法及代码示例
注:本文由纯净天空筛选整理自 Python globals()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。