Hola a todos.
Estoy intentando imitar los enums de C/C++ o C# en python. Básicamente lo que hago es una clase con atributos estáticos.
Código:
class FRAME_TYPE():
FT_AT_COMMAND = 0x08
FT_AT_COMMAND_QUEUE = 0x09
FT_REMOTE_AT_COMMAND = 0x17
FT_AT_COMMAND_RESPNS = 0x88
FT_MODEM_STATUS = 0x8A
FT_REMOTE_COMMAND_RESPNS = 0x97
La duda que tengo es como, dentro de una función que recibe un parámetro del tipo del "enum", comprobar que su valor es correcto y lanzar una excepción en otro caso, es decir:
Código:
def getFrame(self, frameType):
if( not checkValue(frameType)):
raise ValueError("...")
Una manera sería comprobar todos los valores uno por uno, pero quiero saber su hay una manera mejor. Me vale con acceder a la lista de todos los atributos de la clase, pero son estáticos así que con __dict__ no puedo hacerlo.
¿Cómo puedo hacerlo?
Gracias, saludos.