Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Créer une classe avec type()
En Python, les classes sont elles-memes des objets. Et elles sont créées par type(). Quand tu ecris class Animal: ..., Python appelle en fait type('Animal', (), {...}) en coulisses.
La forme a 3 arguments de type() permet de créer des classes dynamiquement : type(nom, bases, attributs)
- nom : le nom de la classe (string) - bases : les classes parentes (tuple, utilise () pour aucune) - attributs : un dictionnaire avec les attributs et méthodes
Exemple : def dire_bonjour(self): return 'Bonjour !'
Utilise type() pour créer dynamiquement une classe Animal avec : - Un attribut de classe espece = 'inconnue' - Un __init__(self, nom) qui stocke self.nom - Une méthode parler(self) qui retourne le texte du nom suivi de 'dit: ...'
Exemple : a = Animal('Rex') a.parler() # 'Rex dit: ...' Animal.espece # 'inconnue'
Tests (2/4)
Instance
a = Animal('Rex')
assert a.nom == 'Rex'
Méthode parler
a = Animal('Rex')
assert a.parler() == 'Rex dit: ...'