Table des matières
Grammaire
Exemple
Sortie
Constructeur par défaut
Constructeur paramétré
Constructeur non paramétrique

Constructeur en Python

Sep 02, 2023 pm 04:29 PM
python 编程 构造函数

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

1

2

3

class A():

   def __init__(self):

      pass

Copier après la connexion

Exemple

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

1

2

3

4

5

6

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

1

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.

1

2

3

4

5

6

7

8

9

10

11

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

1

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.

1

2

3

4

5

6

7

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é

1

2

3

4

5

6

7

8

9

10

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

1

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.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

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

1

2

3

4

5

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!

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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment télécharger Deepseek Xiaomi Comment télécharger Deepseek Xiaomi Feb 19, 2025 pm 05:27 PM

Comment télécharger Deepseek Xiaomi

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Jul 01, 2024 am 07:22 AM

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs

Comment lui demandez-vous Deepseek Comment lui demandez-vous Deepseek Feb 19, 2025 pm 04:42 PM

Comment lui demandez-vous Deepseek

Comment rechercher Deepseek Comment rechercher Deepseek Feb 19, 2025 pm 05:18 PM

Comment rechercher Deepseek

Comment programmer Deepseek Comment programmer Deepseek Feb 19, 2025 pm 05:36 PM

Comment programmer Deepseek

Comment utiliser Deepseek pour régler les comptes Comment utiliser Deepseek pour régler les comptes Feb 19, 2025 pm 04:36 PM

Comment utiliser Deepseek pour régler les comptes

La clé du codage : libérer la puissance de Python pour les débutants La clé du codage : libérer la puissance de Python pour les débutants Oct 11, 2024 pm 12:17 PM

La clé du codage : libérer la puissance de Python pour les débutants

Java Made Simple : un guide du débutant sur la puissance de programmation Java Made Simple : un guide du débutant sur la puissance de programmation Oct 11, 2024 pm 06:30 PM

Java Made Simple : un guide du débutant sur la puissance de programmation

See all articles