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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。