Mypy set 和 dict 的类型提示

问题描述 投票:0回答:1

您好,我有一个函数可以返回空集

{}
或一组字符串:
{'string1', 'string2'}
。我该如何输入提示?

我可以使用

set[str]
但它允许空集吗?

同样,对于可以返回空字典或以字符串作为键、以 bool 或字符串或字符串列表作为值的字典的函数,其类型提示是什么?

dict[str, str|bool|List[str]]
允许空字典吗?

python mypy
1个回答
0
投票

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]] = {}
© www.soinside.com 2019 - 2024. All rights reserved.