猿问

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

具有类似含义的内容:

def func(arg: Union[List[Any], Tuple[Any]]):
    ...

该类型将应用于任何无法使用的可迭代对象,同时显式排除例如生成器表达式。示例用法如下:

def func(arg: NonConsumableIterable[Any]):
    ...

如果这种类型存在,而我忽略了它,那真是太棒了。但如果它不存在,我会有兴趣理解为什么它不存在。


繁星coding
浏览 85回答 1
1回答

HUWWW

类型批注可能是您要查找的批注。请注意,序列与非消耗性可迭代序列不同,如注释中所述。但是,如果您希望可迭代对象不可消耗,则很可能还希望该参数支持 和 。Sequencelen__getitem__从我的py文档:用于泛型可迭代对象(中任何可用的东西),以及需要序列(支持和)的地方。IterableforSequencelen__getitem__序列也在python词汇表中定义。因此,为了回答问题的后续部分,核心库中不存在非消耗性可迭代的注释的可能原因是因为它不是一个非常常见的用例。但是,如果您确实需要一个,则可以使用泛型来实现它。
随时随地看视频慕课网APP

相关分类

Python
我要回答