Python Glossary English

Python 3.14+Асинхронное программированиепонятие

asyncio.FrameCallGraphEntry

граф вызовов

Элемент стека в графе вызовов asyncio: обёртка над одним кадром (поле frame). Из таких элементов состоит FutureCallGraph.call_stack. Python 3.14+.

Синтаксис

for entry in graph.call_stack: entry.frame.f_code.co_name

У него одно поле frame — настоящий объект кадра, так что имя функции берут через entry.frame.f_code.co_name, а строку — entry.frame.f_lineno. Первый элемент call_stack — самый глубокий кадр, где корутина стоит сейчас. Хранить кадры дольше отладки не стоит: кадр держит все локальные переменные функции и мешает их освобождению.

Примеры

import asyncio
async def inner():
    await asyncio.sleep(0.01)
    graph = asyncio.capture_call_graph()
    return [e.frame.f_code.co_name for e in graph.call_stack]
async def outer():
    return await inner()
async def main():
    names = await asyncio.create_task(outer())
    print(names)  # → ['inner', 'outer']
asyncio.run(main())

См. также

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