Tutorial Study Image

Python locals()

函数 locals() 返回局部符号表的字典。符号表是一种数据结构,用于存储变量、函数、对象、类的出现细节,由编译器处理。符号表分为两种类型:局部符号表和全局符号表。

全局符号表包含程序全局范围的详细信息,即所有函数和类的详细信息。


locals()
 

locals() 参数

locals() 函数没有参数。

locals() 返回值

locals() 方法返回当前局部符号表的字典。该字典包含当前局部符号表中的局部变量,如文件名、包或文档字符串。

Python 中 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': }

示例 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