Chargement...

Classe de données

Cet invité porte déjà deux choses, le mot nora et la place 12, et pourtant vous n'avez écrit aucun init pour le préparer. La ligne @dataclass au-dessus de Guest construit cette préparation à partir des champs. Aucun paquet n'est installé et aucun dossier n'est créé.

Un invité avec un nom et une place

python
from dataclasses import dataclass

@dataclass
class Guest:
    name: str
    seat: int

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

L'invité, en revanche, c'est toujours vous qui le construisez : Guest("nora", 12). Le mot vient d'abord, puis le nombre, car c'est l'ordre des champs. Les lignes name: str et seat: int sont ces champs ; elles ne construisent pas un second invité et ne créent aucun dossier.

Avec print(guest), l'écran affiche une seule ligne : Guest(name='nora', seat=12). Les deux valeurs y figurent ensemble. L'invité n'est pas logé dans un autre objet, et Guest n'est pas l'enfant d'une autre classe. Les guillemets autour de nora s'expliquent ainsi : c'est le mot stocké. 12 n'en a pas, puisque c'est un nombre entier sans point décimal. print écrit la ligne, guest.name vaut nora et guest.seat vaut 12. Il n'y a pas de seconde ligne : badge n'est pas ajouté et blue n'est pas écrit. Vous n'avez jamais tapé str ; c'est @dataclass qui donne sa forme à la ligne imprimée. Sans print, l'écran reste vide même si le programme s'exécute, car construire l'invité n'est pas l'écrire.

Si vous oubliez la place, le programme s'arrête. Guest("nora") ne figure pas dans le programme ; s'il y figurait, il se terminerait par un TypeError, parce que le champ seat n'a pas de valeur. None n'est pas écrit et le programme ne continue pas.

Un invité, deux champs

Ici il n'y a qu'un seul invité, et les deux champs vivent sur lui. N'écrivez donc pas class Guest(Pen) : cette forme crée une classe enfant, et un sac qui contient un stylo n'est pas le sujet de cette page. La page suivante consiste à chercher le défaut ; celle-ci se contente de garder un nom et une place et de les écrire à l'écran.

🧠 Testez Vos Connaissances

Prêt à Commencer

Testez Vos Connaissances

Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet

❓
7
Questions
🎯
70%
Pour Réussir
♾️
∞
Temps
🔄
∞
Tentatives

📝 Instructions

  • Lisez chaque question attentivement
  • Sélectionnez la meilleure réponse pour chaque question
  • Vous pouvez refaire le quiz autant de fois que vous le souhaitez
  • Votre progression sera affichée en haut