Tutoriel Python

Python ACCUEIL Introduction à Python Python pour commencer Syntaxe Python Commentaires Python Variables Python Types de données Python Nombres Python Casting Python Chaînes Python Booléens Python Opérateurs Python Listes Python Tuples Python Ensembles Python Dictionnaires Python Python Si... Sinon Boucles tant que Python Python pour les boucles Fonctions Python Python Lambda Tableaux Python Classes/Objets Python Héritage Python Itérateurs Python Portée Python Modules Python Dates Python Mathématiques Python PythonJSON Python RegEx PIP Python Python Essayer... Sauf Entrée utilisateur Python Formatage de chaîne Python

La gestion des fichiers

Gestion des fichiers Python Fichiers de lecture Python Python écrire/créer des fichiers Python Supprimer des fichiers

Modules Python

Tutoriel NumPy Procédure pas à pas Panda Tutoriel Scipy

Python Matplotlib

Introduction à Matplotlib Matplotlib Commencer MatplotlibPyplot Tracé Matplotlib Marqueurs Matplotlib Ligne Matplotlib Étiquettes Matplotlib Grille Matplotlib Sous-parcelles Matplotlib Matplotlib Scatter Barres Matplotlib Histogrammes Matplotlib Graphiques à secteurs Matplotlib

Apprentissage automatique

Commencer Mode médian moyen Écart-type Centile Diffusion des données Répartition normale des données Nuage de points Régression linéaire Régression polynomiale Régression multiple Échelle Former/Tester Arbre de décision

Python MySQL

MySQL Premiers pas Créer une base de données MySQL Créer une table MySQL Insertion MySQL Sélectionnez MySQL MySQL Où Trier MySQL par Supprimer MySQL Table de dépôt MySQL Mise à jour MySQL Limite MySQL Rejoindre MySQL

Python MongoDB

MongoDB Commencer MongoDB Créer une base de données Créer une collection MongoDB Insertion MongoDB Trouver MongoDB Requête MongoDB Tri MongoDB Supprimer MongoDB Collection de dépôt MongoDB Mise à jour MongoDB Limite MongoDB

Référence Python

Présentation de Python Fonctions intégrées Python Méthodes de chaîne Python Méthodes de liste Python Méthodes du dictionnaire Python Méthodes Python Tuple Méthodes d'ensemble Python Méthodes de fichier Python Mots-clés Python Exceptions Python Glossaire Python

Référence des modules

Module aléatoire Module de demandes Module Statistiques Module de mathématiques Module cMath

Python Comment

Supprimer les doublons de liste Inverser une chaîne Additionner deux nombres

Exemples Python

Exemples Python Compilateur Python Exercices Python Quizz Python Certificat Python

Héritage Python


Héritage Python

L'héritage nous permet de définir une classe qui hérite de toutes les méthodes et propriétés d'une autre classe.

La classe parent est la classe dont on hérite, également appelée classe de base.

La classe enfant est la classe qui hérite d'une autre classe, également appelée classe dérivée.


Créer une classe parent

N'importe quelle classe peut être une classe parente, donc la syntaxe est la même que pour créer n'importe quelle autre classe :

Exemple

Créez une classe nommée Person, avec firstnameet lastnamepropriétés, et une printnameméthode :

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

#Use the Person class to create an object, and then execute the printname method:

x = Person("John", "Doe")
x.printname()

Créer une classe enfant

Pour créer une classe qui hérite des fonctionnalités d'une autre classe, envoyez la classe parent en tant que paramètre lors de la création de la classe enfant :

Exemple

Créez une classe nommée Student, qui héritera des propriétés et des méthodes de la Personclasse :

class Student(Person):
  pass

Remarque : Utilisez le mot- pass clé lorsque vous ne souhaitez pas ajouter d'autres propriétés ou méthodes à la classe.

Maintenant, la classe Student a les mêmes propriétés et méthodes que la classe Person.

Exemple

Utilisez la Studentclasse pour créer un objet, puis exécutez la printnameméthode :

x = Student("Mike", "Olsen")
x.printname()


Ajouter la fonction __init__()

Jusqu'à présent, nous avons créé une classe enfant qui hérite des propriétés et des méthodes de son parent.

Nous voulons ajouter la __init__()fonction à la classe enfant (au lieu du mot- passclé).

Remarque : La __init__()fonction est appelée automatiquement chaque fois que la classe est utilisée pour créer un nouvel objet.

Exemple

Ajoutez la __init__()fonction à la Studentclasse :

class Student(Person):
  def __init__(self, fname, lname):
    #add properties etc.

Lorsque vous ajoutez la __init__()fonction, la classe enfant n'héritera plus de la __init__()fonction parent.

Remarque :__init__() La fonction de l'enfant remplace l'héritage de la __init__()fonction du parent.

Pour conserver l'héritage de la __init__() fonction parent, ajoutez un appel à la __init__()fonction parent :

Exemple

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)

Nous avons maintenant ajouté avec succès la fonction __init__() et conservé l'héritage de la classe parente, et nous sommes prêts à ajouter des fonctionnalités dans la __init__()fonction.


Utilisez la fonction super()

Python a également une super()fonction qui fera que la classe enfant hérite de toutes les méthodes et propriétés de son parent :

Exemple

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)

En utilisant la super()fonction, vous n'avez pas besoin d'utiliser le nom de l'élément parent, il héritera automatiquement des méthodes et des propriétés de son parent.


Ajouter des propriétés

Exemple

Ajoutez une propriété appelée graduationyearà la Studentclasse :

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)
    self.graduationyear = 2019

Dans l'exemple ci-dessous, l'année 2019doit être une variable et transmise à la Studentclasse lors de la création d'objets étudiants. Pour ce faire, ajoutez un autre paramètre dans la fonction __init__() :

Exemple

Ajoutez un yearparamètre, et passez la bonne année lors de la création d'objets :

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

x = Student("Mike", "Olsen", 2019)

Ajouter des méthodes

Exemple

Ajoutez une méthode appelée welcomeà la Studentclasse :

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

  def welcome(self):
    print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)

Si vous ajoutez une méthode dans la classe enfant avec le même nom qu'une fonction dans la classe parent, l'héritage de la méthode parent sera remplacé.


Testez-vous avec des exercices

Exercer:

Quelle est la syntaxe correcte pour créer une classe nommée Student qui héritera des propriétés et des méthodes d'une classe nommée Person ?

class :