locals() 方法更新並返回當前本地符號表的字典。
符號表是由編譯器維護的數據結構,其中包含有關程序的所有必要信息。
這些包括變量名、方法、類等。
符號表主要有兩種。
- 全局符號表
- 局部符號表
A 全局的符號表存儲與程序全局範圍相關的所有信息,在 Python 中使用globals方法。
全局範圍包含所有與任何類或函數無關的函數、變量。
同樣地,當地的符號表存儲與程序本地範圍相關的所有信息,並在 Python 中使用locals()
方法。
本地範圍可以在函數內、類內等。
用法:
用法:
locals()
參數:
locals()
方法不帶任何參數。
返回:
locals()
方法更新並返回與當前本地符號表關聯的字典。
示例 1:locals() 如何在 Python 中工作?
locals()
輸出
{'In': ['', 'locals()'], 'Out': {}, '_': '', '__': '', '___': '', '__builtin__':, '__builtins__': , '__name__': '__main__', '_dh': ['/home/repl'], '_i': '', '_i1': 'locals()', '_ih': ['', 'locals()'], '_ii': '', '_iii': '', '_oh': {}, '_sh': , 'exit': , 'get_ipython': >, 'quit': }
注意: globals()
和locals()
全局環境的符號表是相同的。
示例 2:locals() 如何在本地範圍內工作?
def localsNotPresent():
return locals()
def localsPresent():
present = True
return locals()
print('localsNotPresent:', localsNotPresent())
print('localsPresent:', localsPresent())
輸出
localsNotPresent: {} localsPresent: {'present': True}
示例 3:更新 locals() 字典值
def localsPresent():
present = True
print(present)
locals()['present'] = False;
print(present)
localsPresent()
輸出
True True
與反映實際全局表更改的globals()
字典不同,locals()
字典可能不會更改局部表內的信息。
相關用法
- Python locals()用法及代碼示例
- Python PIL logical_and() and logical_or()用法及代碼示例
- Python PIL logical_xor() and invert()用法及代碼示例
- Python log10()用法及代碼示例
- Python list remove()用法及代碼示例
- Python len()用法及代碼示例
- Python numpy string less_equal()用法及代碼示例
- Python calendar leapdays()用法及代碼示例
- Python ldexp()用法及代碼示例
- Python list copy()用法及代碼示例
- Python list轉string用法及代碼示例
- Python lzma.LZMACompressor()用法及代碼示例
- Python Functools lru_cache()用法及代碼示例
- Python linecache.getline()用法及代碼示例
- Python scipy linalg.pinv2用法及代碼示例
- Python list insert()用法及代碼示例
- Python lists轉XML用法及代碼示例
- Python list pop()用法及代碼示例
- Python list index()用法及代碼示例
- Python list sort()用法及代碼示例
注:本文由純淨天空篩選整理自 Python locals()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。