python locals()
函数用于以字典的形式返回当前所在作用域的全部变量。它是python的内置函数。
语法
语法如下:locals()
参数
没有参数
返回值
返回当前作用域中的key,value字典。
- 如果你在一个模块里执行locals函数,那么它返回的与globals函数返回值相同;
- 如果你在一个函数中执行locals函数,就只能返回这个函数所形成的局部作用域里的变量。
程序示例
#!/usr/bin/python
# coding=utf-8
# 定义add()函数
i=1
j=2
def add(a, b):
sum = a+b
print(locals()) #没有打印i和j
print(globals()) #全局作用域 有i和j
return sum
c = add(2, 3)
print(c)
程序运行结果:
{'sum': 5, 'b': 3, 'a': 2}
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f31f7038c18>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/localtest.py', '__cached__': None, 'i': 1, 'j': 2, 'add': <function add at 0x7f31f706ae18>}
5
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f31f7038c18>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/localtest.py', '__cached__': None, 'i': 1, 'j': 2, 'add': <function add at 0x7f31f706ae18>}
5