Параметризованные дженерики нельзя использовать с проверками классов или экземпляров.Python

Программы на Python
Anonymous
Параметризованные дженерики нельзя использовать с проверками классов или экземпляров.

Сообщение Anonymous »

Я написал код, но в 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]))
Изображение



Подробнее здесь: https://stackoverflow.com/questions/564 ... nce-checks

Вернуться в «Python»