typestar

Enums, a fondo en Python

auto, StrEnum y Flag cubren casi todo para lo que sirven los enums.

from enum import Flag, StrEnum, auto


class Tema(StrEnum):
    DEFAULT = auto()
    MONOKAI = auto()


class Modo(Flag):
    EDITOR = auto()
    TIMED = auto()
    QUIET = auto()


print(Tema.MONOKAI, Tema.MONOKAI == "monokai")
combo = Modo.EDITOR | Modo.TIMED
print(combo, Modo.TIMED in combo, Modo.QUIET in combo)
print([m.name for m in Modo if m in combo])

Cómo funciona

  1. auto() asigna los valores para que no puedas tipear uno mal.
  2. Los miembros de StrEnum son cadenas, así que se serializan directo.
  3. Los miembros de Flag se combinan con los operadores de bits.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
340
Tokens
100
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 57 segundos.

Escribe este fragmento

Paso 2 de 3 en Datos y enums; paso 46 de 53 en Python pythónico.

← Anterior Siguiente →