Les dataclass
Bonsoir,
Je suis à la partie POO, les dataclass.
J'ai tout compris, mais sur les dataclass j'ai un peu plus de mal.
En fait ce qui me gêne c'est le post init :
Le nom de la méthode c'est post init, donc il s'agit d'un attribut de classe ? Pas d'instance ? (pour ce qui est dans le bloc post init).
et du coup le @dataclass ça permet d'initialiser l'instance et de mettre les attributs d'instance mais pas que ? Car on peut bien mettre les attributs de classe avec Classvar ?
je m'y perds un peu avec le dataclass par rapport à la méthode traditionnelle. lol
Merci d'avance
from dataclasses import dataclass
from typing import ClassVar
#faire :
@dataclass #ça permet de générer le init
class User:
first_name: str#attribut d'instance
last_name: str
age: int = 0#permer de mettre une valeur par défaut
c: ClassVar[int] = ""#permet d'indiquer que c'est un attribut de class
#je peux faire des choses après l'initialisation instance
def __post_init__(self):
self.full_name = f"{self.first_name} {self.last_name}"
Salut Gabriel,
Je vais prendre le temps de te répondre plus précisément dans la journée (si PA ne me devance pas) mais je tenais juste à préciser rapidement que les dataclass sont une utilisation à la fois plus simple mais aussi plus avancée et que ce n'est pas grave si tu ne comprends pas tout dans cette partie.
Assure-toi de déjà bien comprendre la POO et tu pourras revenir sur les dataclass quand tu en sentiras le besoin (en fait tu vas te rendre compte de l'intérêt des dataclass à force d'utiliser la POO et de répéter certaines choses qui peuvent être évitées par les dataclass). Donc ça nécessite déjà de beaucoup utiliser la POO pour vraiment voir le besoin.
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte