Python locals() 函数
locals()
方法返回一个字典,其中包含当前程序的所有局部变量和符号。
示例
print(locals())
输出
{'In': ['', 'locals()'],
'Out': {},
'_': '',
'__': '',
'___': '',
'__builtin__': ,
'__builtins__': ,
'__name__': '__main__',
'_dh': ['/home/repl'],
'_i': '',
'_i1': 'locals()',
'_ih': ['', 'locals()'],
'_ii': '',
'_iii': '',
'_oh': {},
'_sh': ,
'exit': ,
'get_ipython': >,
'quit': }
locals() 语法
locals()
方法的语法是:
locals()
locals() 参数
locals()
方法没有参数。
locals() 返回值
locals()
方法返回当前局部符号表的字典。
示例 1:Python locals()
class local:
l = 50
# 类中的 locals
print('\n类中的 locals()\n', locals())
输出
类中的 locals()
{'__module__': '__main__', '__qualname__': 'PLocal', 'l': 50}
Python 编译器维护着一个符号表,其中包含有关正在编写的程序的必要信息。Python 中有两种类型的符号表 - 局部(Local) 和 全局(Global)。
局部符号表存储与程序的局部作用域(类或方法内)相关的所有信息。我们可以使用 locals()
方法访问这个符号表。
通常,Python 程序员使用 locals()
方法限制方法或类的作用域内的任何变量和方法。
在上面的示例中,我们有一个名为 local
的类。在这里,我们使用了 locals() 方法来返回这个类的变量和方法。
示例 2:使用 locals() 更改值
def localsPresent():
present = True
print(present)
locals()['present'] = False;
print(present)
localsPresent()
输出
True
True
在上面的示例中,我们使用 locals()
方法在函数 localsPresent
内部更改了 present
变量的值。
由于 locals()
返回一个字典,我们使用了字典项的方法,即变量 present,并将其值更改为 False
。
推荐阅读: