Python Glossary English

Python 3.3+inspectфункция

inspect.getgeneratorlocals()

корутины и генераторы

Словарь текущих локальных переменных приостановленного генератора — подсмотреть его состояние в тесте или отладчике.

Синтаксис

inspect.getgeneratorlocals(generator)

Видны только переменные, уже получившие значение к текущему yield: до первого next() там лишь аргументы, после завершения или close() — тоже пуст, кадра больше нет. Это снимок: правка словаря на генератор не влияет. Не для генератора (например, для списка) — TypeError.

Примеры

import inspect
def counter():
    total = 0
    for i in range(3):
        total += i
        yield total
gen = counter()
print(inspect.getgeneratorlocals(gen))  # → {}
next(gen); next(gen)
print(inspect.getgeneratorlocals(gen))  # → {'total': 1, 'i': 1}
gen.close()
print(inspect.getgeneratorlocals(gen))  # → {}

См. также

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