У меня есть класс, реализующий MutableMapping
V = TypeVar('V')
K = TypeVar('K')
class MM(MutableMapping[K, V]):
def __getitem__(self, k):
return 1
def __setitem__(self, k, v):
pass
def __delitem__(self, k):
pass
def __iter__(self):
return iter(())
def __len__(self):
return 0
, который используется следующим образом:
test: MM[str, int] = MM()
test["a"] = 1
var = test["a"]
Переменная var должна иметь тип int (согласно подсказке типа), но покаpycharm говорит мне, что его тип не может быть выведен.
Это ошибка в pycharm или я что-то не так делаю?
Еще одна удивительная вещь заключается в том, что когда я изменяю определение класса на
MM(MutableMapping[str, V])
, Pycharm указывает, что тип var - string. Чего мне не хватает?