Я написал код, но получаю следующее сообщение в 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?Ошибка исчезнет, если я явно приведу тип к кортежу.
def type_is_valid(test_key, test_value):
return isinstance(test_value, tuple(keys_and_types[test_key]))