# Python `locals()`函数
> 原文: [https://thepythonguru.com/python-builtin-functions/locals/](https://thepythonguru.com/python-builtin-functions/locals/)
* * *
于 2020 年 1 月 7 日更新
* * *
`locals()`函数返回一个字典,其中包含在本地名称空间中定义的变量。 在全局名称空间中调用`locals()`与调用[`globals()`](/python-builtin-functions/globals/)相同,并返回代表模块全局名称空间的字典。
其语法如下:
py
locals() -> dictionary containg local scope variables
这是一个例子:
py
#!/usr/bin/python3
from pprint import pprint
a = 10
b = 20
def foo():
x = 30 # x and y are local variables
y = 40
print(“locals() = {0}”.format(locals()))
pprint(locals()) # same as calling globals()
print(‘*’ * 80)
print(“locals() == globals()? “, locals() == globals())
print(‘*’ * 80)
foo()
预期输出:
py
{‘__builtins__’: ,
‘__cached__’: None,
‘__doc__’: None,
‘__file__’: ‘module1.py’,
‘__loader__’: <_frozen_importlib_external.sourcefileloader object at>,
‘__name__’: ‘__main__’,
‘__package__’: None,
‘__spec__’: None,
‘a’: 10,
‘b’: 20,
‘foo’: ,
‘pprint’: }
locals() == globals()? True
locals() = {‘y’: 40, ‘x’: 30}
试试看:
py
from pprint import pprint
a = 10
b = 20
def foo():
x = 30 # x and y are local variables
y = 40
print(“locals() = {0}”.format(locals()))
pprint(locals()) # same as calling globals()
print(‘*’ * 80)
print(“locals() == globals()? “, locals() == globals())
print(‘*’ * 80)
foo()
* * *
* * *
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216661.html原文链接:https://javaforall.net
