函数 locals() 返回局部符号表的字典。符号表是一种数据结构,用于存储变量、函数、对象、类的出现细节,由编译器处理。符号表分为两种类型:局部符号表和全局符号表。
全局符号表包含程序全局范围的详细信息,即所有函数和类的详细信息。
locals()
locals() 函数没有参数。
locals() 方法返回当前局部符号表的字典。该字典包含当前局部符号表中的局部变量,如文件名、包或文档字符串。
locals()
输出
{'In': ['', 'locals()'],
'Out': {},
'_': '',
'__': '',
'___': '',
'__builtin__': ,
'__builtins__': ,
'__name__': '__main__',
'_dh': ['/home/repl'],
'_i': '',
'_i1': 'locals()',
'_ih': ['', 'locals()'],
'_ii': '',
'_iii': '',
'_oh': {},
'_sh': ,
'exit': ,
'get_ipython': >,
'quit': }
def localsNotPresent():
return locals()
def localsPresent():
present = True
return locals()
print('localsNotPresent:', localsNotPresent())
print('localsPresent:', localsPresent())
输出
localsNotPresent: {}
localsPresent: {'present': True}
def localsPresent():
present = True
print(present)
locals()['present'] = False;
print(present)
localsPresent()
输出
True True