从相对于async forPython 3.5中的语法的文档中,我收集到它是为了迭代一个等待的迭代器而引入的.
尽管如此,我仍然没有按照描述的语义等价物获得:
iter = (ITER)
iter = type(iter).__aiter__(iter)
running = True
while running:
try:
TARGET = await type(iter).__anext__(iter)
except StopAsyncIteration:
running = False
else:
BLOCK
else:
BLOCK2
Run Code Online (Sandbox Code Playgroud)
线路iter = type(iter).__aiter__(iter)在做什么?为什么有必要?