Предупреждение PyCharm: тип «поля» несовместим с «A» при реализации свойства из протоколаPython

Программы на Python
Anonymous
Предупреждение PyCharm: тип «поля» несовместим с «A» при реализации свойства из протокола

Сообщение Anonymous »

Я хочу определить интерфейс для класса данных, но оставляю открытым способ хранения данных. С этой целью я определяю протокол A для интерфейса и реализацию B:

Код: Выделить всё

class A(Protocol):
@property
def field(self):
...

@field.setter
def field(self, value):
...

class B(A):
@property
def field(self):
return ""

@field.setter
def field(self, value):
pass
нет проблем с этой реализацией, но PyCharm предупреждает меня об этом

Код: Выделить всё

Type of 'field' is incompatible with 'A'
Вышеупомянутый подход уже предлагался в этом ответе, но PyCharm он не очень нравится.
Как мне лучше это написать?

Подробнее здесь: https://stackoverflow.com/questions/790 ... nting-prop

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