函数名称中的<locals>是什么意思?

时间:2019-03-07 14:54:00

标签: python

假设我写了一个返回一个函数的函数:

def my_func(word):
    def say():
        print(word)
    return say    
f = my_func("Hello!")

print(f)

<function my_func.<locals>.say at 0x7f39fb454840>

<locals>在这里是什么意思?

1 个答案:

答案 0 :(得分:2)

Localsglobals是符号表。当您运行python脚本时,解释器会维护所有本地标识符的列表,即范围仅限于当前块的符号(例如函数)。这就是<locals>在您的输出中所指的内容。同样,存在一个名为globals的所有全局标识符的列表。

您可以在代码中的任何时候调用locals()globals()以获得字典格式的相应符号表