为了账号安全,请及时绑定邮箱和手机立即绑定

对于不可使用的可迭代对象,是否存在 python 类型注释?

对于不可使用的可迭代对象,是否存在 python 类型注释?

繁星coding 2022-09-13 15:11:59
具有类似含义的内容:def func(arg: Union[List[Any], Tuple[Any]]):     ...该类型将应用于任何无法使用的可迭代对象,同时显式排除例如生成器表达式。示例用法如下:def func(arg: NonConsumableIterable[Any]):     ...如果这种类型存在,而我忽略了它,那真是太棒了。但如果它不存在,我会有兴趣理解为什么它不存在。
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

类型批注可能是您要查找的批注。请注意,序列与非消耗性可迭代序列不同,如注释中所述。但是,如果您希望可迭代对象不可消耗,则很可能还希望该参数支持 和 。Sequencelen__getitem__

我的py文档

用于泛型可迭代对象(中任何可用的东西),以及需要序列(支持和)的地方。IterableforSequencelen__getitem__

序列也在python词汇表中定义。

因此,为了回答问题的后续部分,核心库中不存在非消耗性可迭代的注释的可能原因是因为它不是一个非常常见的用例。但是,如果您确实需要一个,则可以使用泛型来实现它。


查看完整回答
反对 回复 2022-09-13
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信