Python

Python super()-Funktion

Python super()-Funktion
Ein Python-Skript kann sowohl strukturierte Programmierung als auch objektorientierte Programmierung (OOP) durchführen. Super() ist eine integrierte Python-Funktion von OOP. Die Grundkenntnisse von OOP werden bevorzugt, um den Zweck und die Verwendung der Super() Methode. Eine der wichtigsten Funktionen von OOP ist die Vererbung. Eine neue Klasse kann durch Vererben der Funktionen einer anderen Klasse erstellt werden und heißt Vererbung. Hier heißt die neue Klasse Unterklasse oder Kindklasse und eine andere Klasse heißt Superklasse oder Elternklasse. Die Super() Die Funktion wird in der untergeordneten Klasse verwendet, um auf die übergeordnete Klasse zu verweisen und auf alle Variablen und Methoden der übergeordneten Klasse zuzugreifen. Diese Funktion macht die Vererbung übersichtlicher. Wie diese Funktion in Python verwendet werden kann, hat dieses Tutorial gezeigt.

Beispiel-1: Verwendung der Funktion super() in einer einzelnen Vererbung

Wenn eine untergeordnete Klasse durch Vererbung einer übergeordneten Klasse erstellt wird, wird sie als Einzelvererbung bezeichnet. Die Verwendung der Super() Funktion in Einzelvererbung hat sich im folgenden Skript gezeigt. Buch ist hier die übergeordnete Klasse, die eine Konstruktormethode zum Initialisieren der Daten enthält, Buchtyp() Methode zum Drucken des Buchtyps und Rabatt() Methode zum Anzeigen des Rabattangebots verfügbar ist oder nicht. Eng_book ist hier die untergeordnete Klasse, die eine Konstruktormethode enthält, wobei die Super() Funktion wird verwendet, um den Konstruktor der Elternklasse aufzurufen. Die untergeordnete Klasse hat eine andere Methode namens display_details() um die detaillierten Informationen des Buches auszudrucken. Die Objekte sowohl der Eltern- als auch der Kindklassen wurden später erstellt, um die verschiedenen Methoden der Klassen aufzurufen call.

# Definiere die Elternklasse
Klassenbuch:
# Konstruktor definieren
def __init__(self, title, author, type, offer):
selbst.Titel = Titel
selbst.Autor = Autor
selbst.Typ = Typ
selbst.Angebot = Angebot
# Definieren Sie die Funktion zur Anzeige des Buchtyps
def bookType(self):
wenn selbst.Typ == 1:
print("%s ist ein %s Buch." %(selbst.Titel, 'Engineering'))
wenn selbst.Typ == 2:
print("%s ist ein %s Buch." %(selbst.Titel, 'Medizin'))
wenn selbst.Typ == 3:
print("%s ist ein %s Buch." %(selbst.Titel, 'Finanzen'))
# Definieren Sie die Funktion zur Anzeige des Rabattangebots
def rabatt (selbst):
wenn selbst.Angebot == Richtig:
print("Das Buch hat ein Rabattangebot.")
sonst:
print("Das Buch hat kein Rabattangebot.")
# Definiere die untergeordnete Klasse
Klasse Eng_book(Buch):
# Konstruktor definieren
def __init__(Selbst, Titel, Autor, Typ, Angebot, Preis):
Super().__init__(Titel, Autor, Typ, Angebot)
selbst.Preis = Preis
# Definieren Sie die Funktion zum Anzeigen der Buchdetails
def display_details(selbst):
Super().Rabatt()
wenn selbst.Angebot == Richtig:
selbst.Preis = selbst.Preis - selbst.Preis * 0.fünfzehn
print("Buchname :%s" %self.Titel)
print("Autorenname :%s" % selbst.Autor)
print("Preis: %0.2f" % selbst.Preis)
print("Übergeordnete Klasse verwenden:")
# Objekt der Elternklasse definieren
objbook = Book('Medizinische Mikrobiologie', 'Ernest Jawetz, Edward A. Adelberg, Joseph L. Melnick', 2, Falsch)
# Aufruffunktion zur Anzeige des Buchtyps
objbook.Buchtyp()
# Aufruffunktion um Rabattangebot anzuzeigen
objbook.Rabatt()
print("\nUntergeordnete Klasse verwenden:")
# Objekt der untergeordneten Klasse definieren
objEngBook = Eng_book('Engineering Mathematics', 'H K Dass', 1, True, 50)
# Aufruffunktion zum Anzeigen von Buchdetails
objEngBook.display_details()

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Die erste Ausgabe wurde unter Verwendung des Objekts der übergeordneten Klasse generiert und die zweite Ausgabe wurde unter Verwendung des Objekts der untergeordneten Klasse generiert.

Beispiel-2: Verwendung der Funktion super() in mehreren Vererbungen

Wenn eine neue Klasse durch Vererbung mehrerer Klassen generiert wird, wird diese Art der Vererbung als Mehrfachvererbung bezeichnet. Die Verwendung der super()-Funktion bei Mehrfachvererbung hat im folgenden Skript gezeigt. Abteilung ist die Elternklasse, die eine Konstruktormethode zum Initialisieren der Variablen enthält und die Anzeige() Methode zum Drucken des Abteilungsnamens. Kurse wird die untergeordnete Klasse von der geerbt? Abteilung -Klasse und enthält eine Konstruktormethode und die display_Kurs_info() Methode zum Anzeigen der Kursdetails. Lehrer wird die untergeordnete Klasse von der geerbt? Abteilung -Klasse und enthält eine Konstruktormethode und die and display_Teacher_info() Methode, um die Details des Lehrers anzuzeigen. Lehrer_Kurs ist die letzte untergeordnete Klasse des Skripts, die durch Vererbung beider definiert wurde Kurse und Lehrer Klassen. Die Objekte der drei untergeordneten Klassen wurden am Ende des Skripts erstellt, um auf die verschiedenen Methoden der Klassen zuzugreifen. Das Super() Die Funktion wurde in der Konstruktormethode aller untergeordneten Klassen verwendet, um den Konstruktor der übergeordneten Klasse aufzurufen. Zum Erstellen des untergeordneten Klassenobjekts sind vier Argumentwerte erforderlich, da das Konstrukt der Abteilungsklasse vier Argumente enthält.

# Elternklasse definieren
Klasse Abteilung():
def __init__(self, dept_name, total_courses, total_credit, total_teachers):
selbst.abt_name = abt_name
selbst.total_courses = total_courses
selbst.total_credit = total_credit
selbst.total_teachers = total_teachers
def Anzeige (selbst):
print("Abteilungsname: %s" % selbst.Abteilungsname)
# Definiere die erste untergeordnete Klasse
Klasse Kurse (Abteilung):
def __init__(Selbst, Name, Kurse, Credits, Lehrer):
# Konstruktor der übergeordneten Klasse aufrufen
Super().__init__(Name, Kurse, Credits, Lehrer)
def display_Course_info(self):
print("Kurse insgesamt: %d" % selbst.total_kurse)
print("Total Credits: %d" % selbst.Gesamtpunktzahl)
# Definiere die zweite untergeordnete Klasse
Klassenlehrer (Abteilung):
def __init__(Selbst, Name, Kurse, Credits, Lehrer):
# Konstruktor der übergeordneten Klasse aufrufen
Super().__init__(Name, Kurse, Credits, Lehrer)
def display_Teacher_info(self):
print("Lehrer insgesamt: %d" % selbst.total_teachers)
# Definiere die dritte untergeordnete Klasse, die von zwei Klassen geerbt wurde
Klasse Teacher_Course(Kurse, Lehrer):
def __init__(Selbst, Name, Kurse, Credits, Lehrer):
# Rufen Sie den Konstruktor der übergeordneten Klasse auf
Super().__init__(Name, Kurse, Credits, Lehrer)
def display_details(selbst):
Super().Anzeige()
Super().display_Kurs_info()
Super().display_Teacher_info()
print("Die erste untergeordnete Klasse verwenden")
objCourses = Kurse('CSE', 72, 150, 50)
objKurse.Anzeige()
objKurse.display_Kurs_info()
print("\nDie zweite untergeordnete Klasse verwenden")
objTeachers = Teachers('BBA', 65, 140, 55)
objLehrer.Anzeige()
objLehrer.display_Teacher_info()
print("\nDie dritte untergeordnete Klasse verwenden, die von mehreren Klassen geerbt wurde")
objDCT = Teacher_Course('Englisch', 60, 122, 20)
objDCT.display_details()

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Hier wurden drei Ausgaben generiert, indem die Objekte von drei untergeordneten Klassen erstellt wurden.

Fazit:

Das Super() Die Funktion kann nur innerhalb der untergeordneten Klasse verwendet werden, um den Konstruktor und jede andere Methode der übergeordneten Klasse aufzurufen. Die Verwendung dieser Funktion wurde in diesem Tutorial gezeigt, indem eine ein- und mehrstufige Vererbung erstellt wurde. Ich hoffe, der Zweck der Verwendung dieser Funktion in OOP wird nach dem Lesen dieses Tutorials geklärt.

Fügen Sie mit diesen kostenlosen Tools Mausgesten zu Windows 10 hinzu
In den letzten Jahren haben sich Computer und Betriebssysteme stark weiterentwickelt. Es gab eine Zeit, in der Benutzer Befehle verwenden mussten, um ...
Steuern und verwalten Sie Mausbewegungen zwischen mehreren Monitoren in Windows 10
Dual-Display-Maus-Manager lässt Sie die Mausbewegung zwischen mehreren Monitoren steuern und konfigurieren, indem Sie ihre Bewegungen in der Nähe der ...
Mit WinMouse können Sie die Mauszeigerbewegung auf einem Windows-PC anpassen und verbessern improve
Wenn Sie die Standardfunktionen Ihres Mauszeigers verbessern möchten, verwenden Sie Freeware WinMouse. Es fügt weitere Funktionen hinzu, damit Sie das...