#python #inheritance
#python #наследование
Вопрос:
from typing import Dict
class MyDict(dict):
pass
def f() -> Dict[int, int]: # works
return {}
def g() -> MyDict[int, int]: # expected no type argument
return MyDict()
g()
$ python som.py
TypeError: 'type' object is not subscriptable
Также pylint возвращает
E1136: Value 'MyDict' is unsubscriptable (unsubscriptable-object)
Как я могу наследовать структуру для ввода из Dict? Или, по крайней мере, как разрешить вводить MyClass[Any] и MyClass[Any, Any]?
Комментарии:
1. docs.python.org/3/library/…
2. Обратите внимание, что наследование от
Generic
позволит ему запускаться, но неправильно вводит подсказку о унаследованных методах. Я не знаю, есть ли способ сделать это правильно. Я думаю, вам нужно будет использовать переменные toKT
иVT
type , используемые вtyping
, но они недоступны.