[英]mypy error: Incompatible return value type (got "Union[bool_, ndarray]", expected "bool")
[英]mypy error: Incompatible return value type (got "object", expected "Dict[Any, Any]")
我有一个 python class 如下所示:
class TestClass():
def __init__(self, input_data):
self.input_data = input_data #always 'a' or 'b'
def test(self) -> dict[str, Any]:
a = {'a': {1:0, 2:0}, 'b': {2:0, 3:'string'}}
return a[self.input_data]
运行 mypy 会导致错误消息Incompatible return value type (got "object", expected "Dict[Any, Any]")
。 有没有办法解决这个问题?
一行 if 语句也遇到同样的问题,例如,如果我根据条件返回不同的 integer 并将返回类型注释为 int,则会引发一条错误消息,指出返回“对象”类型。
您需要向a
添加类型注释:
a: dict[str, Any] = {'a': {1:0, 2:0}, 'b': {2:0, 3:'string'}}
看起来这个 function 正在返回一个dict[int, Any]
,而不是一个dict[str, Any]
,但我不确定你想要什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.