Optionale Argumente für einen Klassenkonstruktor in Python

Vaibhav Vaibhav 21 Dezember 2022
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.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Verwandter Artikel - Python Class