You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python 3.10中定义空异步生成器?是否有库函数可用?

空异步生成器的实现方案

现有实现的有效性与优化

你写出的代码在Python 3.10中是有效的——通过一个永远不会执行的yield语句,让Python将该函数识别为异步生成器类型。不过还有更简洁的等价写法:

from typing import AsyncGenerator

async def _empty_async_generator() -> AsyncGenerator[str, None]:
    yield from ()

yield from ()会迭代空的可迭代对象,同样不会产生任何值,代码更直观简洁。

标准库中的支持情况

Python标准库中没有专门提供创建空异步生成器的内置函数。如果需要复用,可以封装一个泛型版本:

from typing import AsyncGenerator, TypeVar

T = TypeVar('T')

async def empty_async_gen() -> AsyncGenerator[T, None]:
    yield from ()

这个版本可以适配任意类型的异步生成器声明。

内容的提问来源于stack exchange,提问作者Ross Bencina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 07:38:14