Ejemplo de uso de clases de datos (data class) y clases enumeradas (enum class) en Python. Para ello definimos una clase de vehículos con sus atributos tipo, peso, unidad de peso, velocidad y unidad de velocidad.

En este ejemplo Python desarrollamos tres clases Enum para definir los tipos de vehículos (TipoVehiculo), las unidades de velocidad (UnidadesVelocidad) y las unidades de peso (UnidadesPeso). Por otro lado, definiremos la clase principal de nuestra app en Python Vehiculo, donde especificaremos los atributos de esta clase de datos: tipo, velocidad, unidad de peso, peso y unidad de velocidad. En esta clase definiremos el constructor, donde comprobaremos que el peso y la velocidad sean mayores que cero, en caso de no serlo, devolveremos un error personalizado. Además, en esta clase definiremos un método para convertir los nudos a kilómetros por hora y otro método para convertir las unidades de peso siempre a kilógramos. Por último, sobrecargamos el método estándar «add» para adaptarlo a nuestras necesidades.

El código de ejemplo en Python (con las líneas más importantes comentadas y explicadas):

La ejecución del código anterior dará este resultado: