Python Glossary English

Python 3.5+inspectфункция

inspect.getcoroutinestate()

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

Состояние корутины строкой: CORO_CREATED, CORO_RUNNING, CORO_SUSPENDED или CORO_CLOSED.

Синтаксис

inspect.getcoroutinestate(coroutine)

Корутина в состоянии CORO_CREATED — это вызванная, но ни разу не ожидаемая async-функция: если её так и бросить, Python предупредит «coroutine was never awaited». Функция ждёт объект корутины, а не async-функцию и не генератор: на генераторе она падает AttributeError, а не TypeError. Для генераторов — getgeneratorstate, для асинхронных генераторов — getasyncgenstate.

Примеры

import inspect
class Pause:
    def __await__(self):
        yield
async def job():
    await Pause()
c = job()
print(inspect.getcoroutinestate(c))  # → CORO_CREATED
c.send(None)
print(inspect.getcoroutinestate(c))  # → CORO_SUSPENDED
c.close()
print(inspect.getcoroutinestate(c))  # → CORO_CLOSED

См. также

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