Python Programmation orientée objet : Classe, Objet, Héritage et Constructeur

⚡ Résumé intelligent

Programmation orientée objet en Python Cette approche organise le code autour de classes et d'objets, en regroupant les données et les comportements associés. Elle montre comment définir des classes, créer des objets, appliquer l'héritage et initialiser les attributs avec des constructeurs.

  • (I.e. Plan de cours : Une classe regroupe les données et les méthodes associées en un modèle réutilisable pour la création d'objets.
  • ☑️ Objets: Les objets sont des instances d'une classe, chacune stockant ses propres valeurs d'attributs.
  • ✅ Définition des classes : Le mot-clé class, les méthodes indentées et le paramètre self définissent une Python classe.
  • 🧬 héritage: Une classe dérivée hérite des attributs et des méthodes d'une classe de base et prend en charge l'héritage multiple.
  • ️ Constructeurs: La méthode __init__() initialise chaque nouvel objet avec des valeurs prédéfinies.
  • 🤖 Pertinence de l'IA : bibliothèques d'apprentissage automatique telles que PyTorcouches et réseaux du modèle ch Python classes.

Python Programmation orientée objet : Classe, Objet, Héritage et Constructeur

POO dans Python

POO dans Python est une approche de programmation qui se concentre sur l'utilisation d'objets et de classes de la même manière que les autres langages de programmation généraux. Les objets peuvent être n’importe quelle entité du monde réel. Python permet aux développeurs de développer des applications en utilisant l'approche POO en mettant l'accent sur la réutilisabilité du code. Il est très simple de créer des classes et des objets dans Python.

Qu'est-ce qu'une classe ?

Une classe en Python est un groupe logiqueping de données et de fonctions. Il offre la liberté de créer des structures de données contenant un contenu arbitraire et donc facilement accessibles.

Par exemple, pour tout employé de banque souhaitant récupérer les coordonnées d'un client en ligne, il devra se rendre sur classe de client, où tous ses attributs tels que les détails des transactions, les détails des retraits et des dépôts, la dette en cours, etc. seraient répertoriés.

Comment définir Python les classes

Pour définir la classe, vous devez prendre en compte les points suivants

Étape 1) In Python, les classes sont définies par le "Classe" mot-clé

class myClass():

Étape 2) A l'intérieur des classes, vous pouvez définir des fonctions ou des méthodes qui font partie de cette classe

def method1 (self):
   print "Guru99"
def method2 (self,someString): 
   print "Software Testing:" + someString
  • Nous avons ici défini la méthode 1 qui imprime «Guru99. "
  • Une autre méthode que nous avons définie est la méthode 2 qui imprime « Software Testing » + SomeString. SomeString est la variable fournie par la méthode appelante

Étape 3) Tout dans une classe est en retrait, tout comme le code de la fonction, de la boucle, de l'instruction if, etc. Tout ce qui n'est pas en retrait n'est pas dans la classe

Définir Python les classes

REMARQUE: À propos de l'utilisation de « soi » dans Python

  • L'argument « self » fait référence à l'objet lui-même. D'où l'emploi du mot « self ». Ainsi, dans cette méthode, « self » désignera l'instance spécifique de cet objet sur laquelle l'opération est effectuée.
  • Soi est le nom préféré par convention par Pythons pour indiquer le premier paramètre des méthodes d'instance dans Python. Cela fait partie du Python syntaxe pour accéder aux membres des objets

Étape 4) Faire un objet de la classe

c = myClass()

Étape 5) Pour appeler une méthode dans une classe

c.method1()
    c.method2(" Testing is fun")
  • Notez que lorsque nous appelons la méthode 1 ou la méthode 2, nous n'avons pas besoin de fournir le mot-clé `self`. Celui-ci est géré automatiquement. Python Durée.
  • Python le runtime transmettra la valeur « self » lorsque vous appelez une méthode d'instance dans une instance, que vous la fournissiez délibérément ou non
  • Vous devez juste vous soucier des arguments du non-soi

Étape 6) Voici le code complet

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  def method2(self,someString):    
      print("Software Testing:" + someString)
  
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()

Comment fonctionne l'héritage

L'héritage est une fonctionnalité utilisée dans la programmation orientée objet ; il s'agit de définir une nouvelle classe avec moins ou pas de modification d'une classe existante. La nouvelle classe s'appelle Classe dérivée et celui dont il hérite est appelé le base. Python prend en charge l'héritage; il prend également en charge héritages multiples. Une classe peut hériter des attributs et des méthodes de comportement d'une autre classe appelée sous-classe ou classe héritière.

Comment fonctionne l'héritage Python

Python Syntaxe d'héritage

class DerivedClass(BaseClass):
    body_of_derived_class

Étape 1) Exécutez le code suivant

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print ("childClass Method1")
        
  def method2(self):
        print("childClass method2")     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

Notez que dans childClass, method1 n'est pas défini, mais qu'il hérite de la classe parente myClass. Le résultat est «Guru99. "

Étape 2) Décommentez les lignes n°8 et 10. Exécutez le code

Maintenant, la méthode 1 est définie dans childClass et la sortie « childClass Method1 » est correctement affichée.

Étape 3) Décommentez la ligne n°9. Exécutez le code

Vous pouvez appeler une méthode de la classe parent en utilisant la syntaxe

ParentClassName.MethodName(self)

Dans notre cas, nous appelons myClass.method1(self) et GuruLe chiffre 99 s'imprime comme prévu.

Étape 4) Décommentez la ligne n°19. Exécutez le code.

La méthode 2 de la classe enfant est appelée et « childClass method2 » est imprimée comme prévu.

Python Constructeurs

Un constructeur est une fonction de classe qui instancie un objet avec des valeurs prédéfinies.

Cela commence par un double tiret bas (_). Il s'agit de la méthode __init__()

Dans l'exemple ci-dessous, nous prenons le nom de l'utilisateur utilisant le constructeur.

class User:
    name = ""

    def __init__(self, name):
        self.name = name

    def sayHello(self):
        print("Welcome to Guru99, " + self.name)

User1 = User("Alex")
User1.sayHello()

La sortie sera :

Bienvenue au Guru99, Alex

Python 2 Exemple

Les codes ci-dessus sont Python 3 exemples, si vous souhaitez courir Python 2 veuillez considérer le code suivant.

# How to define Python classes
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
  def method2(self,someString):    
      print "Software Testing:" + someString
      
   
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()


#How Inheritance works
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
      
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print "childClass Method1" 
        
  def method2(self):
        print "childClass method2"     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

Découvrez notre prochain tutoriel sur Polymorphisme dans Python

FAQ

Une classe est un modèle définissant des attributs et des méthodes, tandis qu'un objet est une instance concrète construite à partir de cette classe. Une classe peut créer plusieurs objets, chacun conservant ses propres attributs et méthodes.ping ses propres données.

Python La programmation orientée objet repose sur quatre piliers : l’encapsulation (regroupement des données et des méthodes), l’abstractiontraction (masquage de la complexité), héritage (réutilisation d'une classe de base) et polymorphisme (une interface, plusieurs formes).

Les variables de classe sont déclarées dans le corps de la classe et partagées par toutes les instances. Les variables d'instance sont initialisées dans la méthode `__init__` à l'aide de `self` et appartiennent à un seul objet.

La fonction `super()` renvoie un proxy vers la classe parente, permettant à une classe enfant d'appeler les méthodes ou le constructeur de la classe parente sans la nommer directement. On l'écrit souvent `super().__init__()` pour initialiser les attributs hérités.

L'encapsulation restreint l'accès direct aux données internes d'un objet. Python, préfixez un attribut avec un seul trait de soulignement (_name) comme protégé, ou un double trait de soulignement (__name) pour la modification du nom.

Oui. UNE Python Une classe peut hériter de plusieurs parents, comme la classe Enfant(A, B). Python résout les noms de méthodes en double en utilisant l'ordre de résolution des méthodes (MRO), inspecté avec la méthode mro().

La programmation orientée objet est essentielle aux frameworks d'IA et d'apprentissage automatique. Des bibliothèques telles que PyTorch et scikit-learn modélisent les réseaux, les couches et les estimateurs comme des classes, ce qui vous permet de les sous-classer et de les réutiliser pour construire des modèles.

Oui. GitHub Copilot et les assistants IA génèrent Python Création de classes, de constructeurs et d'héritage à partir d'une simple invite. Ces outils automatisent les tâches répétitives, mais il est conseillé de vérifier la logique du résultat.

Résumez cet article avec :