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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。