Articles of enums

¿Es posible anular __new__ en una enumeración para analizar cadenas en una instancia?

Quiero analizar cadenas en Python enums. Normalmente se implementaría un método de análisis para hacerlo. Hace unos días descubrí el método __new__ que es capaz de devolver diferentes instancias basadas en un parámetro dado. Aquí mi código, que no funcionará: import enum class Types(enum.Enum): Unknown = 0 Source = 1 NetList = 2 def __new__(cls, […]

Especificando un mySQL ENUM en un modelo de Django

¿Cómo hago para especificar y usar un ENUM en un modelo de Django?

Utilice el orden de definición de Enum como orden natural

Estoy tratando de crear una subclase Enum cuyos valores usan su orden de definición como su orden de clasificación natural, como en el siguiente ejemplo: @functools.total_ordering class SelectionType(enum.Enum): character = ‘character’ word = ‘word’ sentence = ‘sentence’ paragraph = ‘paragraph’ def __le__(self, other): if not isinstance(other, SelectionType): return NotImplemented return self._positions[self] < self._positions[other] SelectionType._positions = […]

Usando enumeraciones en ctypes.Estructura

Tengo una estructura a la que estoy accediendo a través de ctypes: struct attrl { char *name; char *resource; char *value; struct attrl *next; enum batch_op op; }; Hasta ahora tengo el código de Python como: # struct attropl class attropl(Structure): pass attrl._fields_ = [ (“next”, POINTER(attropl)), (“name”, c_char_p), (“resource”, c_char_p), (“value”, c_char_p), Pero no […]

Establecer automáticamente el valor de un miembro enum a su nombre

He estado jugando con la biblioteca de enumeración de python y he encontrado un enigma. En los documentos, muestran un ejemplo de una enumeración de numeración automática , en la que se define algo: class Color(AutoNumber): red = () green = () … Quiero hacer una clase similar, pero el valor se establecería automáticamente a […]

Una forma más python de definir una enumeración con miembros dynamics

Necesitaba crear una enumeración para representar los códigos de país ISO. Los datos del código de país provienen de un archivo json que se puede obtener en: https://github.com/lukes/ISO-3166-Countries-with-Regional-Codes Así que lo que he hecho es: data = json.load(open(‘slim-2.json’)) codes_list = [(data[i][‘alpha-2’], int(data[i][‘country-code’])) for i in range(len(data))] CountryCode = enum.Enum(‘CountryCode’, codes_list,) names_dict = {int(data[i][‘country-code’]):data[i][‘name’] for i […]

¿Es posible definir una constante de clase dentro de un Enum?

Python 3.4 introduce una nueva enum módulo, que agrega un tipo enumerado al idioma. La documentación para enum.Enum proporciona un ejemplo para demostrar cómo se puede extender: >>> class Planet(Enum): … MERCURY = (3.303e+23, 2.4397e6) … VENUS = (4.869e+24, 6.0518e6) … EARTH = (5.976e+24, 6.37814e6) … MARS = (6.421e+23, 3.3972e6) … JUPITER = (1.9e+27, 7.1492e7) […]

Enumeración de Python, ¿cuándo y dónde usar?

Python 3.4.0 introdujo la enum , he leído el documento pero aún no sé su uso. Desde mi perspectiva, la enumeración es un tipo de namedtuple extendido, que puede no ser cierto. Así que esto es lo que quiero saber sobre enumeración: ¿Cuándo y dónde usar enumeración? ¿Por qué necesitamos enumeración? ¿Cuáles son las ventajas? […]

¿Cómo puedo representar un ‘Enum’ en Python?

Soy principalmente un desarrollador de C #, pero actualmente estoy trabajando en un proyecto en Python. ¿Cómo puedo representar el equivalente de un Enum en Python?