Formations
Articles
Communauté

La certification qualité a été délivrée pour la catégorie d'actions « Actions de formation ».
À quoi sert la méthode __init__ ?
La méthode __init__
est une méthode spéciale qui est appelée lors de la création d'une instance.
On peut l'utiliser pour initialiser un certain nombre d'attributs et / ou effectuer des opérations lors de l'instanciation d'une classe :
class Person: def __init__(self, prenom, nom, age): print("Initialisation de l'instance", self) self.prenom = prenom self.nom = nom self.age = age self.nationalite = "français" patrick = Person(prenom="Patrick", nom="Michaud", age=27) print(patrick.prenom, patrick.nom) print(patrick.nationalite)
La méthode __init__
est une méthode spéciale, elle doit par exemple obligatoirement retourner None
.
Vous ne pouvez donc pas utiliser l'instruction return
à l'intérieur de cette méthode (à moins de retourner explicitement None
) :
class Person: def __init__(self, prenom, nom, age): print("Initialisation de l'instance", self) self.prenom = prenom self.nom = nom self.age = age self.nationalite = "français" return self.nationalite # TypeError: __init__() should return None, not 'str' patrick = Person(prenom="Patrick", nom="Michaud", age=27)
On peut donc retourner None
sans obtenir d'erreur, mais cela n'a pas vraiment d'intérêt :
class Person: def __init__(self, prenom, nom, age): print("Initialisation de l'instance", self) self.prenom = prenom self.nom = nom self.age = age self.nationalite = "français" return None patrick = Person(prenom="Patrick", nom="Michaud", age=27)