我想输入提示这样的函数:
from types import Iterable
def func(thing: Iterable[str]) -> None:
for i in range(10):
for x in thing:
do_thing(x)
PyCharm(正确地)让我逃避将生成器传递给此函数,但是我想以一种它不允许我的方式键入提示,同时仍然接受其他迭代。
使用Sequence[str]
不是一个选项,像KeyView这样的迭代不是序列,但我仍然希望能够包含它们。
有人提到使用带有Union
+ Sequence
的{{1}},这可行,但我想知道是否有更优雅和通用的解决方案
当然,无论如何我都可以将KeyView
转换为thing
,但我宁愿正确地提示此功能类型。
使用Python 3.7