Python Glossary English

Python 3.12+inspectфункция

inspect.getasyncgenlocals()

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

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

Синтаксис

inspect.getasyncgenlocals(agen)

Работает как getgeneratorlocals: до первого anext() в словаре лишь аргументы, после aclose() он пуст. Значения — снимок на текущем yield, правка словаря генератор не меняет. Передать нужно объект асинхронного генератора, а не функцию.

Примеры

import asyncio, inspect
async def squares():
    for i in range(1, 4):
        sq = i * i
        yield sq
async def main():
    agen = squares()
    print(inspect.getasyncgenlocals(agen))
    await anext(agen)
    print(inspect.getasyncgenlocals(agen))
    await agen.aclose()
asyncio.run(main())  # → {} / {'i': 1, 'sq': 1}

См. также

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