Cargando...

Clase de datos

Este invitado ya guarda dos cosas, la palabra nora y el asiento 12, y tú no has escrito ningún init para prepararlo. La línea @dataclass encima de Guest arma esa preparación a partir de los campos. No se instala ningún paquete ni se crea ninguna carpeta.

Un invitado con nombre y asiento

python
from dataclasses import dataclass

@dataclass
class Guest:
    name: str
    seat: int

guest = Guest("nora", 12)
print(guest)

Lo que sí sigues haciendo tú es crear al invitado: Guest("nora", 12). Primero va la palabra y después el número, porque ese es el orden de los campos. Las líneas name: str y seat: int son esos campos; no crean un segundo invitado ni una carpeta.

Con print(guest), la pantalla muestra una sola línea: Guest(name='nora', seat=12). Ahí aparecen los dos valores juntos. El invitado no está dentro de otro objeto, y Guest no desciende de otra clase. Las comillas alrededor de nora indican que es la palabra guardada; 12 va sin comillas porque es un número entero, sin punto decimal. print escribe la línea, guest.name es nora y guest.seat es 12. No hay segunda línea: badge no se añade y blue no se escribe. Nunca escribiste str; es @dataclass quien da forma a la línea impresa. Y sin print la pantalla queda vacía, porque crear al invitado no es lo mismo que escribirlo.

Si dejas fuera el asiento, el programa se detiene. Guest("nora") no está en el programa; si estuviera, acabaría con un TypeError, porque el campo seat se queda sin valor. No se escribe None y el programa no continúa.

Un invitado, dos campos

Aquí hay un solo invitado y los dos campos viven en él. Por eso no escribas class Guest(Pen): esa forma crea una clase hija, y una bolsa que guarda un bolígrafo no es el tema de esta página. En la siguiente página toca buscar el fallo; esta solo guarda un nombre y un asiento y los escribe en pantalla.

🧠 Pon a Prueba tu Conocimiento

Listo para Empezar

Pon a Prueba tu Conocimiento

Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema

❓
7
Preguntas
🎯
70%
Para Aprobar
♾️
∞
Tiempo
🔄
∞
Intentos

📝 Instrucciones

  • Lee cada pregunta cuidadosamente
  • Selecciona la mejor respuesta para cada pregunta
  • Puedes repetir el quiz tantas veces como quieras
  • Tu progreso se mostrará en la parte superior