Преобразовать строку в перечисление в метаклассе и ввести подсказкиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Преобразовать строку в перечисление в метаклассе и ввести подсказки

Сообщение Anonymous »

У меня много Enum и EnumMeta, например
class MyEnumMeta(EnumMeta):
def from_string(cls, s: str) -> Enum:
return cls[s.upper()]

class A(IntEnum, metaclass=MyEnumMeta):
ONE = 1
TWO = 2
...

class B(Enum, metaclass=MyEnumMeta):
BB = auto()
...

...

Если я проведу следующее сравнение,
A.from_string('TWO') > A.ONE

Я получаю следующее сообщение mypy:
Неподдерживаемые типы операндов для < («A» и «Enum»)
Как я могу исправить проблему несовместимых типов? Я не хочу определять метод from_string в каждом классе и указывать соответствующий класс в качестве возвращаемого значения.
Я определил метод в каждом классе и указал соответствующий класс в качестве возвращаемого значения. .
class A(IntEnum):
ONE = 1
TWO = 2
...

@classmethod
def from_string(cls, s: str) -> 'A':
return cls[s.upper()]

class B(Enum):
BB = auto()

@classmethod
def from_string(cls, s: str) -> 'B':
return cls[s.upper()]


Подробнее здесь: https://stackoverflow.com/questions/781 ... type-hints
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка имени в выборе = ЭТАПЫ ЛАКТАЦИИ в метаклассе в моделях. пи
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Почему перечисление всегда находится в том состоянии, в котором перечисление указано первым?
    Anonymous » » в форуме C#
    0 Ответы
    84 Просмотры
    Последнее сообщение Anonymous
  • Перечисление Java и перечисление PostgreSQL
    Anonymous » » в форуме JAVA
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • Перечисление Java и перечисление PostgreSQL
    Anonymous » » в форуме JAVA
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Перечисление C# в перечисление Postgres
    Anonymous » » в форуме C#
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous

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