Python-Klassen sind wie Baupläne oder Scha­blo­nen. Mit ihnen können Sie wie­der­ver­wend­ba­ren Code in Form von Klas­sen­at­tri­bu­ten und -methoden schreiben.

Was sind Python Classes?

Eine Klasse ist ein abs­trak­tes Konzept, das Attribute und Methoden definiert, die ein Objekt haben kann. Python-Klassen dienen als Vorlage für die Erzeugung von konkreten Objekten, die Instanzen dieser Klasse sind. Zum Beispiel kann eine Klasse Auto heißen, die Attribute wie Farbe und Marke sowie die Methoden __fahren__ oder __bremsen__ besitzt.

Jedes Objekt einer Klasse darf seine eigenen Werte für die Attribute haben, aber teilt sich die Methoden und den grund­le­gen­den Ver­hal­tens­rah­men mit anderen Instanzen derselben Klasse. Bei­spiels­wei­se kann ein Objekt mein_auto der Klasse Auto mit der Farbe __Rot__ und der Marke __Toyota__ erstellt werden, wobei au­to­ma­tisch die Methoden __fahren__ oder __bremsen__ der Klasse auf die Instanz über­tra­gen werden.

So erstellen Sie Python Classes

In Python de­fi­nie­ren Sie Klassen mithilfe des Schlüs­sel­worts class.

lass MyClass:
    # Constructor method called when creating an object
    def __init__(self, attribute1, attribute2):
        self.attribute1 = attribute1
        self.attribute2 = attribute2
    
    # Method defined within the class
    def my_method(self):
        return f"Attribute 1: {self.attribute1}, Attribute 2: {self.attribute2}"
python

In diesem Python-Code erzeugen wir eine Klasse namens MyClass. Diese hat einen Kon­struk­tor __init__, der beim Erstellen eines Objekts auf­ge­ru­fen wird und zwei Attribute, attribute1 und attribute2, in­itia­li­siert. Die Methode my_method gibt eine for­ma­tier­te Zei­chen­fol­ge zurück, die die Werte dieser Attribute enthält.

Um ein Objekt aus dieser Klasse ab­zu­lei­ten, verwenden Sie den Klas­sen­na­men, gefolgt von Klammern:

object1 = MyClass("Value 1", "Value 2")
# Calling a method of the object
result = object1.my_method()
python
Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive

Beispiele für die Anwendung von Python Classes

Python-Klassen können komplexe Systeme und Be­zie­hun­gen zwischen ver­schie­de­nen Entitäten her­stel­len. Im Folgenden stellen wir Ihnen Mög­lich­kei­ten zum Arbeiten mit Python Classes vor.

Die __str()__- Funktion

Die __str__()-Funktion in Python ist eine spezielle Methode, die Sie innerhalb von Python Classes de­fi­nie­ren können. Wenn sie im­ple­men­tiert wird, gibt sie eine Zei­chen­fol­ge zurück, die eine be­nut­zer­freund­li­che Dar­stel­lung eines Objekts re­prä­sen­tiert. Die str()-Funktion können Sie direkt auf das Objekt anwenden oder mit einer print()-Anweisung kom­bi­nie­ren.

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def __str__(self):
        return f"Name: {self.name}, Age: {self.age}"
person1 = Person("Alice", 30)
print(person1) # Output: Name: Alice, Age: 30
python

In unserem Code kreiert die __str__()-Methode innerhalb der Person-Klasse eine for­ma­tier­te Zei­chen­fol­ge, die den Namen und das Alter einer Person enthält. Wenn print(person1) aus­ge­führt wird, ruft diese au­to­ma­tisch die __str__()-Methode des person1-Objekts auf und gibt die von dieser Methode zu­rück­ge­ge­be­ne Zei­chen­fol­ge aus.

Methoden in Python Classes de­fi­nie­ren

Sie haben die Mög­lich­keit, in Python Methoden innerhalb einer Klasse fest­zu­le­gen, um Ope­ra­tio­nen auf den Objekten dieser Klasse aus­zu­füh­ren. Diese Methoden können dann von den er­stell­ten Objekten auf­ge­ru­fen werden.

class Rectangle:
    def __init__(self, length, width):
        self.length = length
        self.width = width
    
    def area(self):
        return self.length * self.width
    def perimeter(self):
        return 2 * (self.length + self.width)
# Creating an object of the class
my_rectangle = Rectangle(5, 10)
# Calling methods of the object
area = my_rectangle.area()
perimeter = my_rectangle.perimeter()
# Printing the calculated values
print("Area =", area) # Output: Area = 50
print("Perimeter =", perimeter) # Output: Perimeter = 30
python

Im Python-Beispiel erstellen wir die Klasse Rectangle, die die zwei Methoden area() und perimeter() umfasst. Diese dienen dazu, die Fläche und den Umfang eines Rechtecks zu berechnen, basierend auf den Längen- und Brei­ten­wer­ten, die bei der In­itia­li­sie­rung des Objekts übergeben wurden. In Python re­prä­sen­tiert self in einer Klas­sen­me­tho­de eine Referenz auf das aktuelle Objekt, auf das die Methode an­ge­wen­det wird.

Das Objekt my_rectangle wird mit einer Länge von 5 und einer Breite von 10 erstellt. An­schlie­ßend rufen wir die Methoden area() und perimeter() auf diesem Objekt auf, um die ent­spre­chen­den Werte zu berechnen.

Ei­gen­schaf­ten von Objekten ändern

Der Punkt­ope­ra­tor . kann benutzt werden, um auf die spe­zi­fi­schen Attribute des Objekts zu­zu­grei­fen und deren Werte zu ak­tua­li­sie­ren. Sie können dem Attribut neue Werte direkt zuweisen.

person1.name = "Sarah"
person1.age = 35
python

Das Schlüs­sel­wort del dient zum Löschen von Ei­gen­schaf­ten eines Objekts.

del person1.name
python
Hinweis

Sie sollten be­rück­sich­ti­gen, dass sich In­stanz­va­ria­blen von Python Class Variables un­ter­schei­den. Klas­sen­va­ria­blen werden außerhalb des Kon­struk­tors definiert und können nur über den Klas­sen­na­men geändert werden.

Zum Hauptmenü