Python Glossary English

все Python 3Встроенные функциипонятие

locals

пространства имён

Возвращает словарь текущего локального пространства имён. В модуле это тот же объект, что globals(); внутри функции — снимок, не ссылка.

Синтаксис

locals()

Внутри функции это снимок: записать что-то в полученный словарь и ждать появления новой локальной переменной бесполезно — обратной связи с кадром нет (в Python 3.13 это закреплено PEP 667, раньше поведение зависело от реализации). На уровне модуля и в теле класса locals() отдаёт настоящий словарь пространства имён, и правки в нём как раз видны — отсюда путаница. В функции попадают только те имена, которым уже что-то присвоено к моменту вызова.

Примеры

def f():
    x = 10; y = 20
    return locals()
print(f())  # → {'x':10,'y':20}
def g(a, b):
    c = a+b
    print('c' in locals())  # → True
    return locals()
print(g(1,2))  # → {'a':1,'b':2,'c':3}
print(type(locals()))  # → <class 'dict'>

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности