mypy 错误:不支持的转换器,当前仅支持命名函数、类型和 lambda

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

使用这里的复杂示例https://www.attrs.org/en/stable/api.html#attrs.converters.default_if_none,我收到 mypy 错误:不支持的转换器,仅命名函数、类型和 lambda目前支持

def complicated(value, self_, field):
    return int(value) * self_.factor + field.metadata["offset"]
@define
class C:
    factor = 5  # not an *attrs* field
    x = field(
        metadata={"offset": 200},
        converter=attrs.Converter(
            complicated,
            takes_self=True, takes_field=True
    ))
C("42")
C(x=410)
python-3.x mypy python-attrs
1个回答
0
投票

mypy 只是不支持这一点。有很多完全安全、有效、优良的代码 mypy 不支持。你可以用

# type: ignore
注释告诉 mypy 忽略它,或者你可以停止这样编写代码。

© www.soinside.com 2019 - 2024. All rights reserved.