OOPs in Python
OOPs in Python ist ein Programmieransatz, der sich darauf konzentriert, Objekte und Klassen wie andere allgemeine Programmiersprachen zu verwenden. Die Objekte können beliebige reale Entitäten sein. Mit Python können Entwickler Anwendungen mithilfe des OOPs-Ansatzes entwickeln, wobei der Schwerpunkt auf der Wiederverwendbarkeit von Code liegt. Es ist sehr einfach, Klassen und Objekte in Python zu erstellen.
Was ist eine Klasse?
Eine Klasse in Python ist eine logische Gruppierung von Daten und Funktionen. Es gibt die Freiheit, Datenstrukturen zu erstellen, die beliebigen Inhalt enthalten und daher leicht zugänglich sind.
Zum Beispiel kann für jeden Bankangestellten, den die Kundendaten online gehen würde holen will Kundenklasse , in dem alle seiner Attribute wie Transaktionsdetails, Rückzug und Einlagen Details, die ausstehenden Schulden usw. aufgeführt werden würden aus.
In diesem Tutorial lernen wir:
- So definieren Sie Python-Klassen
- Wie Vererbung funktioniert
- Python-Konstruktoren
So definieren Sie Python-Klassen
Um eine Klasse zu definieren, müssen Sie die folgenden Punkte berücksichtigen
Schritt 1) In Python werden Klassen durch das Schlüsselwort "Class" definiert
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 Methode1 definiert, die "Guru99" druckt.
- Eine andere Methode, die wir definiert haben, ist Methode2, die "Software Testing" + SomeString druckt. SomeString ist die von der aufrufenden Methode bereitgestellte Variable
Schritt 3) Alles in einer Klasse wird eingerückt, genau wie der Code in der Funktion, der Schleife, der if-Anweisung usw. Alles, was nicht eingerückt ist, ist nicht in der Klasse
HINWEIS : Informationen zur Verwendung von "self" in Python
- Das Selbstargument bezieht sich auf das Objekt selbst. Daher die Verwendung des Wortes Selbst. In dieser Methode bezieht sich self also auf die spezifische Instanz dieses Objekts, an dem gearbeitet wird.
- Self ist der Name, der von Pythons gemäß der Konvention bevorzugt wird, um den ersten Parameter von Instanzmethoden in Python anzugeben. Es ist Teil der Python-Syntax, auf Mitglieder von Objekten zuzugreifen
Schritt 4) Um ein Objekt aus der Klasse zu machen
c = myClass()
Schritt 5) Aufrufen einer Methode in einer Klasse
c.method1()c.method2(" Testing is fun")
- Beachten Sie, dass wir beim Aufrufen von method1 oder method2 das Selbstschlüsselwort nicht angeben müssen. Dies wird für uns automatisch von der Python-Laufzeit erledigt.
- Die Python-Laufzeit übergibt den Wert "self", wenn Sie eine Instanzmethode für eine Instanz aufrufen, unabhängig davon, ob Sie sie absichtlich bereitstellen oder nicht
- Sie müssen sich nur um die Nicht-Selbst-Argumente kümmern
Schritt 6) Hier ist der vollständige Code
# Beispieldatei für die Arbeit mit KlassenKlasse myClass ():def method1 (self):Drucken ("Guru99")def method2 (self, someString):print ("Software Testing: + someString)def main ():# Üben Sie die Klassenmethoden ausc = myClass ()c.method1 ()c.method2 ("Testen macht Spaß")if __name __ == "__main__":Main()
Wie Vererbung funktioniert
Vererbung ist eine Funktion, die bei der objektorientierten Programmierung verwendet wird. Es bezieht sich auf das Definieren einer neuen Klasse mit weniger oder keiner Änderung an einer vorhandenen Klasse. Die neue Klasse heißt abgeleitete Klasse und von einer, die sie erbt, wird sie Basis genannt . Python unterstützt die Vererbung. Es werden auch mehrere Vererbungen unterstützt . Eine Klasse kann Attribute und Verhaltensmethoden von einer anderen Klasse erben, die als Unterklasse oder Erbenklasse bezeichnet wird.
Python-Vererbungssyntax
class DerivedClass(BaseClass):body_of_derived_class
Schritt 1) Führen Sie den folgenden Code aus
# Beispieldatei für die Arbeit mit KlassenKlasse myClass ():def method1 (self):Drucken ("Guru99")Klasse childClass (myClass):#def method1 (self):# myClass.method1 (self);#print ("childClass Method1")def method2 (self):print ("childClass method2")def main ():# Üben Sie die Klassenmethoden ausc2 = childClass ()c2.method1 ()# c2.method2 ()if __name __ == "__main__":Main()
Beachten Sie, dass die Methode1 in childClass nicht definiert ist, sondern von der übergeordneten myClass abgeleitet wird. Die Ausgabe ist "Guru99".
Schritt 2) Kommentieren Sie die Zeilen 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) Kommentar Nr. 9 auskommentieren. Führen Sie den Code aus
Sie können eine Methode der übergeordneten Klasse mithilfe der Syntax aufrufen
ParentClassName.MethodName(self)
In unserem Fall rufen wir myClass.method1 (self) auf und Guru99 wird wie erwartet gedruckt
Schritt 4 ) Kommentar Nr. 19 auskommentieren. 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 auf vordefinierte Werte instanziiert.
Es beginnt mit einem doppelten Unterstrich (_). Es __init __ () Methode
Im folgenden Beispiel nehmen wir den Namen des Benutzers mit dem Konstruktor.
class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()
Die Ausgabe wird sein:
Willkommen bei Guru99, Alex
Python 2 Beispiel
Die oben genannten Codes sind Beispiele für Python 3. Wenn Sie Python 2 ausführen möchten, beachten Sie bitte den folgenden Code.
# How to define Python classes# Example file for working with classesclass myClass():def method1(self):print "Guru99"def method2(self,someString):print "Software Testing: + someStringdef main():# exercise the class methodsc = myClass ()c.method1()c.method2(" Testing is fun")if __name__== "__main__":main()#How Inheritance works# Example file for working with classesclass 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 methodsc2 = childClass()c2.method1()#c2.method2()if __name__== "__main__":main()
Zusammenfassung:
"Klasse" ist eine logische Gruppierung von Funktionen und Daten. Die Python-Klasse bietet alle Standardfunktionen der objektorientierten Programmierung.
- Klassenvererbungsmechanismus
- Eine abgeleitete Klasse, die eine Methode ihrer Basisklasse überschreibt
- Eine Methode kann die Methode einer Basisklasse mit demselben Namen aufrufen
- Python-Klassen werden durch das Schlüsselwort "class" selbst definiert
- Innerhalb von Klassen können Sie Funktionen oder Methoden definieren, die Teil der Klasse sind
- Alles in einer Klasse wird eingerückt, genau wie der Code in der Funktion, der Schleife, der if-Anweisung usw.
- Das Selbstargument in Python bezieht sich auf das Objekt selbst. Self ist der Name, den Pythons nach Konvention bevorzugt, um den ersten Parameter von Instanzmethoden in Python anzugeben
- Die Python-Laufzeit übergibt automatisch den Wert "self", wenn Sie eine Instanzmethode für eine Instanz aufrufen, unabhängig davon, ob Sie sie absichtlich bereitstellen oder nicht
- In Python kann eine Klasse Attribute und Verhaltensmethoden von einer anderen Klasse erben, die als Unterklasse oder Erbenklasse bezeichnet wird.