Python -Klassen und -Objekte
Python-Klassen/Objekte
Python ist eine objektorientierte Programmiersprache.
Fast alles in Python ist ein Objekt mit seinen Eigenschaften und Methoden.
Eine Klasse ist wie ein Objektkonstruktor oder eine "Blaupause" zum Erstellen von Objekten.
Erstellen Sie eine Klasse
Verwenden Sie zum Erstellen einer Klasse das Schlüsselwort class
:
Beispiel
Erstellen Sie eine Klasse namens MyClass mit einer Eigenschaft namens x:
class MyClass:
x = 5
Objekt erstellen
Jetzt können wir die Klasse namens MyClass verwenden, um Objekte zu erstellen:
Beispiel
Erstellen Sie ein Objekt namens p1 und geben Sie den Wert von x aus:
p1 = MyClass()
print(p1.x)
Die __init__()-Funktion
Die obigen Beispiele sind Klassen und Objekte in ihrer einfachsten Form und sind in realen Anwendungen nicht wirklich nützlich.
Um die Bedeutung von Klassen zu verstehen, müssen wir die eingebaute Funktion __init__() verstehen.
Alle Klassen haben eine Funktion namens __init__(), die immer ausgeführt wird, wenn die Klasse initiiert wird.
Verwenden Sie die Funktion __init__(), um Objekteigenschaften oder anderen Vorgängen, die beim Erstellen des Objekts ausgeführt werden müssen, Werte zuzuweisen:
Beispiel
Erstellen Sie eine Klasse namens Person, verwenden Sie die Funktion __init__(), um Werte für Name und Alter zuzuweisen:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John",
36)
print(p1.name)
print(p1.age)
Hinweis: Die __init__()
Funktion wird jedes Mal automatisch aufgerufen, wenn die Klasse verwendet wird, um ein neues Objekt zu erstellen.
Objektmethoden
Objekte können auch Methoden enthalten. Methoden in Objekten sind Funktionen, die zum Objekt gehören.
Lassen Sie uns eine Methode in der Person-Klasse erstellen:
Beispiel
Fügen Sie eine Funktion ein, die eine Begrüßung druckt, und führen Sie sie auf dem p1-Objekt aus:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def myfunc(self):
print("Hello my name is " + self.name)
p1 = Person("John",
36)
p1.myfunc()
Hinweis: Der self
Parameter ist ein Verweis auf die aktuelle Instanz der Klasse und wird verwendet, um auf Variablen zuzugreifen, die zur Klasse gehören.
Der self-Parameter
Der self
Parameter ist eine Referenz auf die aktuelle Instanz der Klasse und wird verwendet, um auf Variablen zuzugreifen, die zu der Klasse gehören.
Es muss nicht benannt werden self
, Sie können es beliebig nennen, aber es muss der erste Parameter einer beliebigen Funktion in der Klasse sein:
Beispiel
Verwenden Sie die Wörter mysillyobject und abc anstelle von self :
class Person:
def __init__(mysillyobject, name, age):
mysillyobject.name = name
mysillyobject.age = age
def myfunc(abc):
print("Hello my name is " + abc.name)
p1 = Person("John",
36)
p1.myfunc()
Objekteigenschaften ändern
Sie können Eigenschaften von Objekten wie folgt ändern:
Beispiel
Stellen Sie das Alter von p1 auf 40 ein:
p1.age = 40
Objekteigenschaften löschen
Sie können Eigenschaften von Objekten löschen, indem Sie das
del
Schlüsselwort verwenden:
Beispiel
Löschen Sie die Alterseigenschaft aus dem p1-Objekt:
del p1.age
Objekte löschen
Sie können Objekte mit dem del
Schlüsselwort löschen:
Beispiel
Löschen Sie das p1-Objekt:
del p1
Die Pass-Anweisung
class
Definitionen dürfen nicht leer sein, aber wenn Sie aus irgendeinem Grund eine class
Definition ohne Inhalt haben, geben Sie die pass
Anweisung ein, um eine Fehlermeldung zu vermeiden.
Beispiel
class Person:
pass