Enumeraciones

Skip to content

¡Este es un texto traducido automáticamente que puede contener errores!

Enums (enumeraciones) son una forma de definir un tipo de dato que solo puede tener un conjunto limitado de valores predefinidos. Esto facilita la prevención de errores al garantizar que una variable solo pueda tener valores válidos.

Los enums estrictamente no se utilizan para la validación, pero nos ayudan a limitar qué valores son válidos para una variable y, por lo tanto, pueden ayudar a prevenir errores.

Por ejemplo, si tienes una clase que representa un coche, puedes usar un Enum para definir qué colores puede tener el coche:

from enum import Enum

class CarColor(Enum):
    RED = "red"
    BLUE = "blue"
    GREEN = "green"
    BLACK = "black"
    WHITE = "white"

class Car:
    def __init__(self, make: str, model: str, year: int, color: CarColor):
        self.make = make
        self.model = model
        self.year = year
        self.color = color

¿Por qué?

Nuestro IDE proporciona una mejor autocompletación cuando usamos enums, y evitamos (hacemos difícil) establecer valores inválidos. Si intentamos asignar un color que no está definido en CarColor, Python lanzará un error. Esto hace que el código sea más robusto y más fácil de mantener. Cuantos menos errores posibles puedan ocurrir, mejor calidad tendrá el código.

Imagina que tenemos una función que maneja métodos de pago: PayPal, VISA, MASTERCARD y BITCOIN. Al usar un Enum para los métodos de pago, podemos asegurar que la función solo reciba métodos de pago válidos, y no "MASTERCARDD" o "CASH", lo que podría provocar errores en el programa.

Enum Meme

Easy Tarea 1 - Crea un Enum

Crea un Enum llamado EyeColor e impleméntalo en la clase Person del módulo anterior. EyeColor debe tener los siguientes valores:

  • BLUE
  • BROWN
  • GREEN
  • HAZEL

Enum se utiliza mucho en el desarrollo de juegos

Si buscas en la documentación de varios juegos, a menudo verás que utilizan Enums para definir cosas como armas, enemigos, niveles y similares. Esto se debe a que facilita la gestión de estas cosas en el código y facilita la evitación de errores.

https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/blockpistonstate?view=minecraft-bedrock-stable

Felicidades, ahora entiendes los enums