Korosia:
En Python, puede utilizar la clase de la bandera para representar combinaciones de valores.
class Color(Flag):
Red = auto()
Green = auto()
Blue = auto()
White = Red | Green | Blue
Estos convierten implícitamente a las cadenas para que pueda imprimirlos.
>>> print(Color.Red, Color.White, Color.Red|Color.Green)
Color.Red Color.White Color.Green|Red
La name
propiedad da puedas manera aún más agradable para imprimir, pero no funciona para los valores combinados sin nombre.
>>> print(Color.Red.name, Color.White.name, (Color.Red|Color.Green).name)
Red White None
¿Hay alguna manera de obtener un valor combinado de la bandera para imprimir de una manera similar a name
, sin necesidad de escribir una función separada?
por ejemplo,
Color.Red | Color.Green => Red Green
Ethan Furman:
Lamentablemente no. Pero esto suena como una solicitud de mejora buena .