我有一个可以返回空集或字符串集的函数:
{'string1', 'string2'}
。我该如何输入提示呢? set[str]
允许空集吗?
同样,对于可以返回空字典或以字符串作为键、以 bool 或字符串或字符串列表作为值的字典的函数,其类型提示是什么?
dict[str, str|bool|List[str]]
是否允许空字典?
set[str]
就完美了!您可以使用如下代码示例自行测试:
x: set[str]
x = set()
x = {"fizz"}
x = {0}
mypy 会因为你传入
set[int]
而不是 set[str]
后的最后一个作业对你大喊大叫,但第一个作业完全没问题。
字典也是如此。以下代码片段将通过静态类型检查:
from typing import List
x: dict[str, str|bool|List[str]] = {}