Movatterモバイル変換


[0]ホーム

URL:


Python Tutorial

Python aiter() Function



ThePython aiter() function is a built-in function that was introduced in version 3.10 as an asynchronous programming feature. It returns an asynchronous iterator for an asynchronous iterable object. The term asynchronous iterator is defined as an object that implements the__aiter__() and__anext__() methods.

In synchronous iteration, the program block or wait for each operation to complete before moving on to the next one. However, with aiter() function which is asynchronous in nature, the program is allowed to initiate another operation without waiting for the previous ones to finish.

Syntax

Following is the syntax of the Pythonaiter() function −

aiter(asyncIterable)

Parameters

The Pythonaiter() function accepts a single parameter −

  • asyncIterable − It represents an asynchronous iterable object.

Return Value

The Pythonaiter() function returns an asynchronous iterator.

Examples

The following examples will help us in understanding the working of aiter() function −

Example 1

In the following example, we are illustrating the basic usage of Python aiter() function. Here we are creating an asynchronous generator function. It generates numbers from 0 to 3, with a delay of 2 seconds between each number.

import asyncioasync def async_iter():   for num in range(4):      await asyncio.sleep(2)      yield numasync def main():   async for res in aiter(async_iter()):      print(res)        asyncio.run(main())

When we run above program, it produces following result −

0123

Example 2

In the code below, we are generating a number between the range of 4 to 8 without any delay by using the aiter() function.

import asyncioasync def async_gentr():   for num in range(4, 8):      yield numasync def main():   async for res in aiter(async_gentr()):      print(res)asyncio.run(main())

Following is an output of the above code −

4567

Example 3

The code below shows how to use the aiter() method in combination with __aiter__() and __anext__() methods. Here, we are creating an asynchronous list object and then iterating over it to print its items.

import asyncioclass AsyncIterator:   def __init__(self, data):      self.data = data      self.index = 0   def __aiter__(self):      return self   async def __anext__(self):      if self.index == len(self.data):         raise StopAsyncIteration      value = self.data[self.index]      self.index += 1      return valueasync def main():   async_iter = AsyncIterator([18, 19, 10, 11])   async for value in aiter(async_iter):      print(value)        asyncio.run(main())

Output of the above code is as follows −

18191011

Example 4

In the code below, we have defined aiter() as an asynchronous generator that yields items from the specified iterable. Then, it computes their sum using sumOfnum() method, and prints the result.

import asyncioasync def aiter(iter):   for item in iter:      yield itemasync def sumOfnum(iter, start=0):   async for x in aiter(iter):      start += x   return startasync def main():   numerics = [4, 12, 20, 13, 15]   total = await sumOfnum(numerics)   print(f"The sum of the numbers is {total}")asyncio.run(main())

Following is an output of the above code −

The sum of the numbers is 64
python_built_in_functions.htm
Print Page
Advertisements

[8]ページ先頭

©2009-2025 Movatter.jp