您的位置:

39. Python locals()

Python locals()

更新:

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

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

 **locals()** 

局部变量()参数:

locals()函数没有任何参数。

局部变量()返回值

方法返回当前本地符号表的字典。字典包含本地变量,如文件名、包或来自当前本地符号表的文档字符串。

Python 中局部变量()方法的示例

示例 1:本地变量()在 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:局部变量()如何在局部范围内工作?

 def localsNotPresent():
    return locals()

def localsPresent():
    present = True
    return locals()

print('localsNotPresent:', localsNotPresent())
print('localsPresent:', localsPresent()) 

输出:

localsNotPresent: {}
localsPresent: {'present': True} 

示例 3:更新局部变量()字典值

 def localsPresent():
    present = True
    print(present)
    locals()['present'] = False;
    print(present)

localsPresent() 

输出:

True
True