Optionale Argumente für einen Klassenkonstruktor in Python
Wie der Name schon sagt, ist ein optionales Argument ein Argument, für das die Übergabe eines Werts nicht obligatorisch ist. Für ein solches Argument wird ein Standardwert bewertet. Wenn für ein solches Argument ein Wert übergeben wird, überschreibt der neue Wert den Standardwert.
In diesem Artikel lernen wir, wie man optionale Argumente für Klassen in Python setzt.
Optionale Argumente für einen Klassenkonstruktor in Python setzen
Um optionale Argumente zu Klassen in Python hinzuzufügen, müssen wir den Argumenten in der Signatur der Konstruktorfunktion der Klasse einige Standardwerte zuweisen. Das Hinzufügen von Standardwerten ist eine einfache Aufgabe. Wir müssen Argumente mit ihren Standardwerten wie x = 3
, name = "Untitled"
usw. gleichsetzen. Der Standardwert wird berücksichtigt, wenn für diese optionalen Argumente keine Werte übergeben werden. Der folgende Python-Code zeigt das oben besprochene Konzept.
class Point:
def __init__(self, x, y, z=0):
self.x = x
self.y = y
self.z = z
def __str__(self):
return f"X: {self.x}, Y: {self.y}, Z:{self.z}"
print(Point(1, 2)) # Object 1
print(Point(54, 92, 0)) # Object 2
print(Point(99, 26, 100)) # Object 3
Ausgabe:
X: 1, Y: 2, Z:0
X: 54, Y: 92, Z:0
X: 99, Y: 26, Z:100
Der Konstruktor der Klasse Point
akzeptiert drei Argumente: x
, y
und z
. Hier ist z
das optionale Argument, weil es einen Standardwert dafür hat. Dadurch werden die beiden anderen Argumente x
und y
obligatorisch. Für Object 1
wurde kein Wert für das Argument z
übergeben, und aus der Ausgabe können wir sehen, dass der Standardwert für z
berücksichtigt wurde. Und für Objekt 3 wurde 100
für das z
-Argument übergeben, und aus der Ausgabe können wir sehen, dass 100
über dem Standardwert 0
berücksichtigt wurde.