Как создать член ENUM в родительском классе ENUM? Для методов класса, ссылающихся на значение по умолчаниюPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как создать член ENUM в родительском классе ENUM? Для методов класса, ссылающихся на значение по умолчанию

Сообщение Anonymous »

Это делается для того, чтобы линтер не кричал на меня, но я бы хотел включить член ENUM [ПУСТОЕ] в родительский ENUM, унаследованный каждым дочерним классом.
У меня есть родительский элемент ENUM (ENUM_Blank), содержащий метод класса (FromStringToENUM), который преобразует ENUM списка с префиксом Blank, если список больше 1 (среди прочего). Каждый дочерний класс ENUM наследует этот метод и имеет первое значение BLANK. В коде это работает нормально. Но линтер жалуется, что в родительском классе не определен BLANK, и я бы предпочел, чтобы он остановился.
Поэтому мне нужен способ сообщить линтеру, что родительский класс всегда имеет BLANK в качестве члена, и еще лучше обеспечить, чтобы все дочерние элементы этого класса имели BLANK в качестве члена (хотя они не обязательно должны быть сопоставимы, я не сравниваю ЦВЕТА и ANIMAL, просто делюсь этой функцией).
Код, который работает, но Линтер кричит (в части cls.BLANK):
class ENUM_Blank(Enum):
@classmethod
def FromStringToENUM(cls, stringList: list[str]) ->list[ENUM_Blank]:
fixedList = []
if len(stringConvert) > 1: fixedList.append(cls.BLANK)
[...]
return fixedList

class COLOR(ENUM_Blank): #Inherits function
BLANK = 'Blank'
RED = 'Red'
GREEN = 'Green'

class ANIMAL(ENUM_Blank): #Inherits function
BLANK = 'Blank'
CAT = 'Cat'
DOG = 'Dog'

Предпочитаемый код:
class ENUM_Blank(Enum):
BLANK = 'Blank'
@classmethod
def FromStringToENUM(): [...]

class COLOR(ENUM_Blank): #Inherits function AND has COLOR.BLANK
RED = 'Red'
GREEN = 'Green'

class ANIMAL(ENUM_Blank): #Inherits function AND has COLOR.BLANK
CAT = 'Cat'
DOG = 'Dog'


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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