Constructeur en Python

WBOY
Libérer: 2023-09-02 16:29:20
avant
2187 Les gens l'ont consulté

Constructeur en Python

En Python, chaque classe a un constructeur, qui est une méthode spéciale spécifiée à l'intérieur de la classe. Le constructeur/initialiseur sera appelé automatiquement lorsqu'un nouvel objet est créé pour la classe. Lorsqu'un objet est initialisé, le constructeur attribue des valeurs aux données membres de la classe.

Il n'est pas nécessaire de définir explicitement le constructeur. Mais pour créer un constructeur, nous devons suivre les règles suivantes -

  • Pour une classe, il n'est permis d'avoir qu'un seul constructeur.

  • Le nom du constructeur doit être __init__.

  • Les constructeurs doivent être définis à l'aide de propriétés d'instance (spécifiez simplement le mot-clé self comme premier argument).

  • Il ne peut renvoyer aucune valeur sauf Aucune.

Grammaire

class A(): 
   def __init__(self):
      pass
Copier après la connexion

Exemple

Considérez l'exemple ci-dessous et comprenez comment fonctionne le constructeur.

class SampleClass():
  def __init__(self):
    print("it a sample class constructor")

# creating an object of the class 
A = SampleClass()
Copier après la connexion

Sortie

it a sample class constructor
Copier après la connexion

Dans le bloc ci-dessus, l'objet A est créé pour SampleClass() et pour cette instance, la méthode __init__(self) est automatiquement exécutée. De cette façon, il affiche l'instruction du constructeur.

Les constructeurs sont divisés en trois types.

  • Constructeur par défaut

  • Constructeur paramétré

  • Constructeur non paramétrique

Constructeur par défaut

Le constructeur par défaut n'est pas défini par l'utilisateur, Python crée lui-même un constructeur lors de la compilation du programme. Il n'effectue aucune tâche mais initialise l'objet.

Exemple

Python génère un constructeur vide sans code. Voir exemple ci-dessous.

class A():
    check_value = 1000
    # a method
    def value(self):
        print(self.check_value)

# creating an object of the class
obj = A()

# calling the instance method using the object
obj.value()
Copier après la connexion

Sortie

1000
Copier après la connexion

Vérifions le constructeur de la classe A à l'aide de la fonction dir() intégrée de Python.

dir(A)
Output:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', 
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', 
'__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', 
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', 
'__subclasshook__', '__weakref__', 'check_value', 'value']
Copier après la connexion
La fonction

python dir() renvoie une liste de toutes les propriétés et méthodes de l'objet spécifié. Dans la liste ci-dessus, nous pouvons voir que le constructeur par défaut __init__ est créé pour l'objet A.

Constructeur paramétré

Les constructeurs paramétrés acceptent un ou plusieurs paramètres ainsi que soi. Ceci est utile lorsque vous souhaitez créer un objet avec des valeurs de propriétés personnalisées. Les constructeurs paramétrés nous permettent de spécifier les valeurs des propriétés d'un objet lors de la création d'un objet.

Exemple

Voyons un exemple de classe avec un constructeur paramétré

class Family:
   members = 10
   def __init__(self, count):
      self.members = count
   
   def disply(self):
      print("Number of members is", self.members)  

joy_family = Family(25)
joy_family.disply()
Copier après la connexion

Sortie

Number of members is 25
Copier après la connexion

Ici, la série d'objets Joy est créée en utilisant une valeur personnalisée de 25 au lieu d'utiliser la valeur de propriété de membre par défaut de 10. Et la valeur est disponible pour cette instance car elle est affectée à la propriété self.members.

Constructeur non paramétrique

Les constructeurs non paramétriques n'acceptent aucun paramètre sauf self. C'est utile lorsque vous souhaitez manipuler la valeur d'une propriété d'instance.

Exemple

Voyons un exemple de constructeur non paramétrique.

class Player:
   def __init__(self):
      self.position = 0
   
   # Add a move() method with steps parameter     
   def move(self, steps):
      self.position = steps
      print(self.position)
   
   def result(self):
      print(self.position)

player1 = Player()
print('player1 results')
player1.move(2)
player1.result()

print('p2 results')
p2 = Player()
p2.result()
Copier après la connexion

Sortie

player1 results
2
2
p2 results
0
Copier après la connexion
L'objet

player1 manipule la propriété "position" en utilisant la méthode move(). Et l'objet p2 accède à la valeur par défaut de la propriété "position".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!