Função built-in Python aiter()

Da documentação do Python 3

Retorna um iterador assíncrono para um objeto iterável assíncrono. Equivalente a chamar x.__aiter__(). aiter() é um equivalente assíncrono de iter()

Introdução

A função aiter() retorna um iterador assíncrono a partir de um objeto iterável assíncrono. É o equivalente assíncrono da função iter().

Você tipicamente usará aiter() implicitamente ao usar um loop async for, mas pode chamá-la diretamente se precisar trabalhar com o iterador manualmente, frequentemente em conjunto com anext().

Exemplo

Aqui está um exemplo de um iterável assíncrono. O loop async for chama aiter() automaticamente no objeto AsyncCounter para obter um iterador.

import asyncio

class AsyncCounter:
    def __init__(self, stop):
        self.stop = stop
        self.current = 0

    def __aiter__(self):
        return self

    async def __anext__(self):
        if self.current < self.stop:
            await asyncio.sleep(0.1)
            value = self.current
            self.current += 1
            return value
        else:
            raise StopAsyncIteration

async def main():
    async for number in AsyncCounter(3):
        print(number)

# Para executar isto em um ambiente real:
# asyncio.run(main())
0
1
2