我编写了代码,但在 pycharm(2019.1) 中收到以下消息: “参数化泛型不能与类或实例检查一起使用”
def data_is_valid(data):
keys_and_types = {
'comment': (str, type(None)),
'from_budget': (bool, type(None)),
'to_member': (int, type(None)),
'survey_request': (int, type(None)),
}
def type_is_valid(test_key, test_value):
return isinstance(test_value, keys_and_types[test_key])
type_is_valid('comment', 3)
我实在不太明白这个消息。是我做错了什么还是pycharm的bug? 如果我明确类型转换为元组,错误就会消失。
def type_is_valid(test_key, test_value):
return isinstance(test_value, tuple(keys_and_types[test_key]))
我不会跟别人重复说这是一个 pycharm bug。如果你是一个完美主义者,错误伤害了你的眼睛,请添加评论
# noqa
到“错误”所在的行
既然它被认为是一个错误,你可以通过以下行在 Pycharm 中抑制它:
# noinspection PyTypeHints