Función incorporada Python aiter()

De la documentación de Python 3

Devuelve un iterador asíncrono para un objeto iterable asíncrono. Equivalente a llamar a x.__aiter__(). aiter() es el equivalente asíncrono de iter()

Introducción

La función aiter() devuelve un iterador asíncrono a partir de un objeto iterable asíncrono. Es el equivalente asíncrono de la función iter().

Normalmente utilizarás aiter() implícitamente cuando uses un bucle async for, pero puedes llamarla directamente si necesitas trabajar con el iterador manualmente, a menudo junto con anext().

Ejemplo

Aquí tienes un ejemplo de un iterable asíncrono. El bucle async for llama automáticamente a aiter() en el objeto AsyncCounter para obtener un 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 ejecutar esto en un entorno real:
# asyncio.run(main())
0
1
2

Enlaces relevantes