Méthode __init__ en Python est utilisé pour initialiser les objets d'une classe. On l'appelle aussi constructeur.
Pour bien comprendre le concept de la méthode __init__, vous devez être familier avec :
Conditions préalables - Classe et objets Python , Soi
Qu'est-ce que __init__ en Python ?
Méthode __init__ est comme le constructeur par défaut dans C++ et Java . Les constructeurs sont utilisés pour initialiser l’état de l’objet.
La tâche des constructeurs est d'initialiser (attribuer des valeurs) aux données membres de la classe lorsqu'un objet de la classe est créé.
Comme les méthodes, un constructeur contient également une collection d'instructions (c'est-à-dire des instructions) qui sont exécutées au moment de la création de l'objet. Il est exécuté dès qu'un objet d'une classe est instancié.
La méthode est utile pour effectuer toute initialisation que vous souhaitez effectuer avec votre objet.
Python3
combien de villes aux États-Unis
# A Sample class with init method> class> Person:> ># init method or constructor> >def> __init__(>self>, name):> >self>.name>=> name> ># Sample Method> >def> say_hi(>self>):> >print>(>'Hello, my name is'>,>self>.name)> p>=> Person(>'Nikhil'>)> p.say_hi()> |
>
>
Sortir:
Hello, my name is Nikhil>
Comprendre le code
Dans l'exemple ci-dessus, une personne nommée Nikhil est créée. Lors de la création d'une personne, Nikhil est passé en argument, cet argument sera passé à la méthode __init__ pour initialiser l'objet.
générateur de nombres aléatoires Java
Le mot-clé self représente l'instance d'une classe et lie les attributs avec les arguments donnés. De même, de nombreux objets de la classe Person peuvent être créés en passant différents noms comme arguments.
Ci-dessous l'exemple de __ init__ en Python avec paramètres
Exemple de méthode __init__ en Python
Regardons quelques exemples de la méthode __init__ en Python.
Python3
# A Sample class with init method> class> Person:> ># init method or constructor> >def> __init__(>self>, name):> >self>.name>=> name> ># Sample Method> >def> say_hi(>self>):> >print>(>'Hello, my name is'>,>self>.name)> # Creating different objects> p1>=> Person(>'Nikhil'>)> p2>=> Person(>'Abhinav'>)> p3>=> Person(>'Anshul'>)> p1.say_hi()> p2.say_hi()> p3.say_hi()> |
>
>
Sortir:
Hello, my name is Nikhil Hello, my name is Abhinav Hello, my name is Anshul>
Méthode __init__ avec héritage
Héritage est la capacité d'une classe à dériver ou à hériter des propriétés d'une autre classe. Considérons l'exemple ci-dessous pour voir comment __init__ fonctionne en héritage.
Python3
apurva padgaonkar
# Python program to> # demonstrate init with> # inheritance> class> A(>object>):> >def> __init__(>self>, something):> >print>(>'A init called'>)> >self>.something>=> something> class> B(A):> >def> __init__(>self>, something):> ># Calling init of parent class> >A.__init__(>self>, something)> >print>(>'B init called'>)> >self>.something>=> something> obj>=> B(>'Something'>)> |
>
>
Sortir:
A init called B init called>
Ainsi, le constructeur de la classe parent est appelé en premier. Mais en Python, il n’est pas obligatoire que le constructeur de la classe parent soit toujours appelé en premier.
L'ordre dans lequel la méthode __init__ est appelée pour une classe parent ou enfant peut être modifié. Cela peut simplement être fait en appelant le constructeur de la classe parent après le corps du constructeur de la classe enfant.
Exemple:
Python3
# Python program to> # demonstrate init with> # inheritance> class> A(>object>):> >def> __init__(>self>, something):> >print>(>'A init called'>)> >self>.something>=> something> class> B(A):> >def> __init__(>self>, something):> >print>(>'B init called'>)> >self>.something>=> something> ># Calling init of parent class> >A.__init__(>self>, something)> obj>=> B(>'Something'>)> |
>
combien de semaines dans un mois
>
Sortir:
B init called A init called>
Lire : Héritage en Python
Nous avons couvert __init__ en Python, expliqué comment utiliser __init__ et vu quelques exemples d'utilisation de la méthode __init__ en Python.
Le constructeur est un concept crucial dans les POO, et la méthode __init__ est très similaire aux constructeurs.
J'espère que cet article vous a aidé à apprendre la méthode __init__ et que vous pourrez l'utiliser dans vos projets.
Article associé
- __init__() est-il une méthode privée en Python ?
- Quelle est la différence entre __init__ et __call__ ?
- __nouveau__ en Python