Python OOP: Klasse, Objekt, Vererbung und Konstruktor

⚡ Intelligente Zusammenfassung

Objektorientierte Programmierung in Python Der Code wird anhand von Klassen und Objekten strukturiert, wobei zusammengehörige Daten und Verhaltensweisen gebündelt werden. Dieser Ansatz zeigt, wie man Klassen definiert, Objekte erstellt, Vererbung anwendet und Attribute mit Konstruktoren initialisiert.

  • 🔘 Klassenplan: Eine Klasse bündelt zusammengehörige Daten und Methoden zu einer wiederverwendbaren Vorlage für die Erstellung von Objekten.
  • ☑️ Objekte: Objekte sind Instanzen einer Klasse, die jeweils ihre eigenen Attributwerte speichern.
  • ✅ Klassen definieren: Das Schlüsselwort `class`, eingerückte Methoden und der Parameter `self` definieren eine Klasse. Python Klasse.
  • 🧬 Erbe: Eine abgeleitete Klasse erbt Attribute und Methoden von einer Basisklasse und unterstützt Mehrfachvererbung.
  • ️ Konstruktoren: Die __init__()-Methode initialisiert jedes neue Objekt mit vordefinierten Werten.
  • 🤖 KI-Relevanz: Bibliotheken für maschinelles Lernen wie PyTorch-Modellschichten und Netzwerke als Python Klassen.

Python OOP: Klasse, Objekt, Vererbung und Konstruktor

OOPs in Python

OOPs in Python ist ein Programmieransatz, der sich auf die Verwendung von Objekten und Klassen konzentriert, genau wie bei anderen allgemeinen Programmiersprachen. Die Objekte können beliebige reale Entitäten sein. Python ermöglicht es Entwicklern, Anwendungen mit dem OOP-Ansatz zu entwickeln, wobei der Schwerpunkt auf der Wiederverwendbarkeit des Codes liegt. Es ist sehr einfach, Klassen und Objekte in Python.

Was ist eine Klasse?

Eine Klasse in Python ist eine logische Gruppeping von Daten und Funktionen. Es bietet die Freiheit, Datenstrukturen zu erstellen, die beliebigen Inhalt enthalten und somit leicht zugänglich sind.

Ein Bankangestellter, der beispielsweise die Kundendaten online abrufen möchte, würde zu Kundenklasse, wo alle seine Attribute wie Transaktionsdetails, Abhebungs- und Einzahlungsdetails, ausstehende Schulden usw. aufgelistet würden.

Wie zu definieren Python Unterricht

Um eine Klasse zu definieren, müssen Sie folgende Punkte berücksichtigen

Schritt 1) In Python, Klassen werden definiert durch die "Klasse" Stichwort

class myClass():

Schritt 2) Innerhalb von Klassen können Sie Funktionen oder Methoden definieren, die Teil dieser Klasse sind

def method1 (self):
   print "Guru99"
def method2 (self,someString): 
   print "Software Testing:" + someString
  • Hier haben wir Methode 1 definiert, die ausgibt:Guru99. "
  • Eine weitere Methode, die wir definiert haben, ist Methode2, die „Software Testing“ + SomeString ausgibt. SomeString ist die von der aufrufenden Methode bereitgestellte Variable

Schritt 3) Alles in einer Klasse ist eingerückt, genau wie der Code in der Funktion, Schleife, if-Anweisung usw. Alles, was nicht eingerückt ist, ist nicht in der Klasse

Definierung Python Unterricht

HINWEIS: Über die Verwendung von „self“ in Python

  • Das Selbstargument bezieht sich auf das Objekt selbst. Daher die Verwendung des Wortes „Selbst“. Innerhalb dieser Methode bezieht sich „Selbst“ also auf die spezifische Instanz dieses Objekts, mit der gearbeitet wird.
  • Selbst ist der Name, der gemäß Konvention bevorzugt wird von Pythons zur Angabe des ersten Parameters von Instanzmethoden in Python. Es ist Teil der Python Syntax für den Zugriff auf Mitglieder von Objekten

Schritt 4) Ein Objekt der Klasse erstellen

c = myClass()

Schritt 5) Um eine Methode in einer Klasse aufzurufen

c.method1()
    c.method2(" Testing is fun")
  • Beachten Sie, dass wir beim Aufruf von Methode1 oder Methode2 das Schlüsselwort „self“ nicht angeben müssen. Dies wird automatisch von der Methode übernommen. Python Laufzeit.
  • Python Die Laufzeit übergibt den Wert „self“, wenn Sie eine Instanzmethode in der Instanz aufrufen, unabhängig davon, ob Sie dies absichtlich angeben oder nicht.
  • Sie müssen sich nur um die Nicht-Selbst-Argumente kümmern

Schritt 6) Hier ist der vollständige Code

# 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()

Wie Vererbung funktioniert

Vererbung ist eine Funktion, die in der objektorientierten Programmierung verwendet wird. Es bezieht sich auf die Definition einer neuen Klasse mit geringeren oder keinen Änderungen an einer vorhandenen Klasse. Die neue Klasse wird aufgerufen abgeleitete Klasse und von einem, das es erbt, heißt das Base. Python unterstützt Vererbung; es unterstützt auch mehrere Erbschaften. Eine Klasse kann Attribute und Verhaltensmethoden von einer anderen Klasse erben, die als Unterklasse oder Erbklasse bezeichnet wird.

Wie Vererbung funktioniert in Python

Python Vererbungssyntax

class DerivedClass(BaseClass):
    body_of_derived_class

Schritt 1) Führen Sie den folgenden Code aus

# 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()

Beachten Sie, dass die Methode `method1` in `childClass` nicht definiert ist, sondern von der übergeordneten Klasse `myClass` abgeleitet wird. Die Ausgabe lautet: „Guru99. "

Schritt 2) Kommentieren Sie Zeile 8 und 10 aus. Führen Sie den Code aus

Jetzt ist die Methode 1 in der childClass definiert und die Ausgabe „childClass Method1“ wird korrekt angezeigt.

Schritt 3) Kommentieren Sie Zeile Nr. 9 aus. Führen Sie den Code aus

Mithilfe der Syntax können Sie eine Methode der übergeordneten Klasse aufrufen

ParentClassName.MethodName(self)

In unserem Fall rufen wir myClass.method1(self) auf und Guru99 wird wie erwartet gedruckt.

Schritt 4:) Kommentieren Sie Zeile Nr. 19 aus. Führen Sie den Code aus.

Methode 2 der untergeordneten Klasse wird aufgerufen und „childClass method2“ wird wie erwartet gedruckt.

Python Konstruktoren

Ein Konstruktor ist eine Klassenfunktion, die ein Objekt mit vordefinierten Werten instanziiert.

Es beginnt mit einem doppelten Unterstrich (_). Es ist die __init__()-Methode.

Im folgenden Beispiel übernehmen wir den Namen des Benutzers mithilfe des Konstruktors.

class User:
    name = ""

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

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

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

Ausgabe wird sein:

Willkommen bei Guru99, Alex

Python 2 Beispiel

Die obigen Codes sind Python 3 Beispiele, Wenn Sie in laufen wollen Python 2 Bitte beachten Sie den folgenden Code.

# 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()

Erfahren Sie in unserem nächsten Tutorial mehr darüber Polymorphismus in Python

Häufig gestellte Fragen

Eine Klasse ist eine Art Bauplan, der Attribute und Methoden definiert, während ein Objekt eine konkrete Instanz dieser Klasse ist. Eine Klasse kann viele Objekte erzeugen, wobei jedes Objekt eine Instanz von Attributen und Methoden darstellt.ping seine eigenen Daten.

Python Objektorientierte Programmierung basiert auf vier Säulen: Kapselung (Zusammenfassen von Daten mit Methoden), absolutetracTranslation (Verbergen von Komplexität), Vererbung (Wiederverwendung einer Basisklasse) und Polymorphismus (eine Schnittstelle, viele Formen).

Klassenvariablen werden innerhalb des Klassenrumpfs deklariert und von jeder Instanz gemeinsam genutzt. Instanzvariablen werden innerhalb von __init__ mit self zugewiesen und gehören nur zu einem einzigen Objekt.

Die Funktion `super()` gibt eine Referenz auf die Elternklasse zurück, sodass eine Kindklasse die Methoden oder den Konstruktor der Elternklasse aufrufen kann, ohne diese direkt anzugeben. Sie wird häufig als `super().__init__()` geschrieben, um geerbte Attribute zu initialisieren.

Die Kapselung beschränkt den direkten Zugriff auf die internen Daten eines Objekts. Python, einem Attribut wird ein einzelner Unterstrich vorangestellt (_name) für geschützte Attribute, oder ein doppelter Unterstrich (__name) für Namensmangling.

Ja. EIN Python Eine Klasse kann von mehreren Elternklassen erben, zum Beispiel class Child(A, B). Python Löst doppelte Methodennamen mithilfe der Method Resolution Order (MRO) auf, die mit der Methode mro() überprüft wird.

Objektorientierte Programmierung ist zentral für KI- und Machine-Learning-Frameworks. Bibliotheken wie PyTorch und scikit-learn modellieren Netzwerke, Schichten und Schätzer als Klassen, sodass man sie untergliedern und wiederverwenden kann, um Modelle zu erstellen.

Ja. GitHub Copilot und KI-Assistenten generieren Python Klassen, Konstruktoren und Vererbung werden anhand einer kurzen Eingabeaufforderung generiert. Sie automatisieren wiederkehrenden Code, allerdings sollten Sie die Ausgabe auf korrekte Logik überprüfen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: