Python -Tutorial

Python-HOME Python-Einführung Python-Erste Schritte Python-Syntax Python-Kommentare Python-Variablen Python-Datentypen Python-Zahlen Python-Casting Python-Strings Python-Booleans Python-Operatoren Python-Listen Python-Tupel Python-Sets Python-Wörterbücher Python Wenn ... Sonst Python-While-Schleifen Python-For-Schleifen Python-Funktionen Python-Lambda Python-Arrays Python-Klassen/Objekte Python-Vererbung Python-Iteratoren Python-Bereich Python-Module Python-Daten Python-Mathematik Python-JSON Python-RegEx Python-PIP Python Versuchen ... Außer Python-Benutzereingabe Formatierung von Python-Strings

Umgang mit Dateien

Umgang mit Python-Dateien Python-Dateien lesen Python-Dateien schreiben/erstellen Python-Dateien löschen

Python-Module

NumPy-Tutorial Panda-Komplettlösung Scipy-Tutorial

Python-Matplotlib

Matplotlib-Einführung Matplotlib loslegen Matplotlib-Pyplot Matplotlib-Plotten Matplotlib-Marker Matplotlib-Linie Matplotlib-Labels Matplotlib-Raster Matplotlib-Subplots Matplotlib-Scatter Matplotlib-Bars Matplotlib-Histogramme Matplotlib-Kreisdiagramme

Maschinelles Lernen

Einstieg Mittlerer Medianmodus Standardabweichung Perzentil Datenverteilung Normale Datenverteilung Streudiagramm Lineare Regression Polynomiale Regression Mehrfache Regression Skala Trainieren/Testen Entscheidungsbaum

Python-MySQL

MySQL-erste Schritte MySQL-Datenbank erstellen MySQL-Tabelle erstellen MySQL-Einfügung MySQL-Auswahl MySQL-Wo MySQL-Reihenfolge nach MySQL löschen MySQL-Drop-Tabelle MySQL-Update MySQL-Limit MySQL-Beitritt

Python-MongoDB

Beginnen Sie mit MongoDB MongoDB Datenbank erstellen MongoDB-Create-Sammlung MongoDB-Einfügung MongoDB-Suche MongoDB-Abfrage MongoDB-Sortierung MongoDB löschen MongoDB-Drop-Sammlung MongoDB-Update MongoDB-Limit

Python-Referenz

Python-Übersicht Eingebaute Python-Funktionen Python-String-Methoden Python-Listenmethoden Methoden des Python-Wörterbuchs Python-Tupelmethoden Python-Set-Methoden Python-Dateimethoden Python-Schlüsselwörter Python-Ausnahmen Python-Glossar

Modulreferenz

Zufallsmodul Anforderungsmodul Statistikmodul Mathe-Modul cMath-Modul

Python-Anleitung

Listenduplikate entfernen Einen String umkehren Fügen Sie zwei Zahlen hinzu

Python-Beispiele

Python-Beispiele Python-Compiler Python-Übungen Python-Quiz Python-Zertifikat

Python -Vererbung


Python-Vererbung

Vererbung ermöglicht es uns, eine Klasse zu definieren, die alle Methoden und Eigenschaften von einer anderen Klasse erbt.

Die Elternklasse ist die Klasse, von der geerbt wird, auch Basisklasse genannt.

Kindklasse ist die Klasse, die von einer anderen Klasse erbt, auch abgeleitete Klasse genannt.


Erstellen Sie eine übergeordnete Klasse

Jede Klasse kann eine übergeordnete Klasse sein, daher ist die Syntax dieselbe wie beim Erstellen jeder anderen Klasse:

Beispiel

Erstellen Sie eine Klasse mit dem Namen Person, mit den Eigenschaften und und einer firstnameMethode :lastnameprintname

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

Erstellen Sie eine untergeordnete Klasse

Um eine Klasse zu erstellen, die die Funktionalität von einer anderen Klasse erbt, senden Sie beim Erstellen der untergeordneten Klasse die übergeordnete Klasse als Parameter:

Beispiel

Erstellen Sie eine Klasse namens Student, die die Eigenschaften und Methoden von der Klasse erbt Person:

class Student(Person):
  pass

Hinweis: Verwenden Sie das pass Schlüsselwort, wenn Sie der Klasse keine weiteren Eigenschaften oder Methoden hinzufügen möchten.

Jetzt hat die Student-Klasse die gleichen Eigenschaften und Methoden wie die Person-Klasse.

Beispiel

Verwenden Sie die StudentKlasse, um ein Objekt zu erstellen, und führen Sie dann die printnameMethode aus:

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


Fügen Sie die __init__()-Funktion hinzu

Bisher haben wir eine untergeordnete Klasse erstellt, die die Eigenschaften und Methoden von ihrer übergeordneten Klasse erbt.

Wir möchten die __init__()Funktion zur untergeordneten Klasse hinzufügen (anstelle des passSchlüsselworts).

Hinweis: Die __init__()Funktion wird jedes Mal automatisch aufgerufen, wenn die Klasse verwendet wird, um ein neues Objekt zu erstellen.

Beispiel

Fügen Sie die __init__()Funktion der StudentKlasse hinzu:

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

Wenn Sie die Funktion hinzufügen __init__(), erbt die untergeordnete Klasse nicht mehr die __init__()Funktion der übergeordneten Klasse.

Hinweis:__init__() Die Funktion des Kindes überschreibt die Vererbung der __init__()Funktion des Elternteils.

Um die Vererbung der übergeordneten __init__() Funktion beizubehalten, fügen Sie der übergeordneten Funktion einen Aufruf hinzu __init__():

Beispiel

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

Jetzt haben wir die Funktion __init__() erfolgreich hinzugefügt und die Vererbung der übergeordneten Klasse beibehalten, und wir sind bereit, Funktionalität in der __init__()Funktion hinzuzufügen.


Verwenden Sie die super()-Funktion

Python hat auch eine super()Funktion, die die untergeordnete Klasse dazu bringt, alle Methoden und Eigenschaften von ihrer übergeordneten Klasse zu erben:

Beispiel

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

Wenn Sie die super()Funktion verwenden, müssen Sie nicht den Namen des übergeordneten Elements verwenden, es erbt automatisch die Methoden und Eigenschaften von seinem übergeordneten Element.


Eigenschaften hinzufügen

Beispiel

Fügen Sie graduationyearder StudentKlasse eine Eigenschaft namens hinzu:

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

Im Beispiel unten sollte das Jahr 2019eine Variable sein und Studentbeim Erstellen von Schülerobjekten an die Klasse übergeben werden. Fügen Sie dazu einen weiteren Parameter in der Funktion __init__() hinzu:

Beispiel

Fügen Sie einen yearParameter hinzu und übergeben Sie beim Erstellen von Objekten das richtige Jahr:

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

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

Methoden hinzufügen

Beispiel

Fügen Sie welcomeder StudentKlasse eine aufgerufene Methode hinzu:

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)

Wenn Sie in der untergeordneten Klasse eine Methode mit demselben Namen wie eine Funktion in der übergeordneten Klasse hinzufügen, wird die Vererbung der übergeordneten Methode außer Kraft gesetzt.


Testen Sie sich mit Übungen

Übung:

Was ist die richtige Syntax, um eine Klasse namens Student zu erstellen, die Eigenschaften und Methoden von einer Klasse namens Person erbt?

class :