Python getattr()

In unserem vorherigen Tutorial haben wir über den Python-Systembefehl gelernt. In diesem Tutorial werden wir über die Python getattr() Funktion diskutieren.

Python getattr() Funktion

Die Python getattr() Funktion wird verwendet, um den Wert eines Objektattributs zu erhalten, und wenn kein Attribut dieses Objekts gefunden wird, wird der Standardwert zurückgegeben. Im Wesentlichen ist die Rückgabe des Standardwerts der Hauptgrund, warum Sie möglicherweise die Python getattr() Funktion verwenden müssen. Bevor wir jedoch mit dem Tutorial beginnen, sehen wir uns die grundlegende Syntax der Python getattr() Funktion an.

getattr(object_name, attribute_name[, default_value])

Beispiel für Python getattr()

In diesem Abschnitt lernen wir, wie wir die Attributwerte eines Objekts mithilfe der getattr() Funktion abrufen können. Angenommen, wir schreiben eine Klasse namens Student. Die grundlegenden Attribute der Studentenklasse sind student_id und student_name. Jetzt werden wir ein Objekt der Klasse Student erstellen und auf sein Attribut zugreifen.

class Student:
    student_id=""
    student_name=""

    # Initialisierung des Konstruktors, um die Werte festzulegen
    def __init__(self):
        self.student_id = "101"
        self.student_name = "Adam Lam"

student = Student()
# Abrufen von Attributwerten mithilfe der getattr() Funktion
print('\ngetattr : name of the student is =', getattr(student, "student_name"))

# Aber Sie könnten darauf so zugreifen
print('traditional: name of the student is =', student.student_name)

Standardwert für Python getattr()

In diesem Abschnitt werden wir die Option für den Standardwert von python getattr() verwenden. Wenn Sie auf ein Attribut zugreifen möchten, das nicht zum Objekt gehört, können Sie die Option für den Standardwert von getattr() verwenden. Wenn beispielsweise das Attribut student_cgpa für den Studenten nicht vorhanden ist, wird ein Standardwert angezeigt. Im folgenden Beispiel sehen wir ein Beispiel für den Standardwert. Wir werden auch sehen, was passiert, wenn das Attribut nicht vorhanden ist und wir die Option für den Standardwert nicht verwenden.

class Student:
    student_id=""
    student_name=""

    # Initialer Konstruktor zum Setzen der Werte
    def __init__(self):
        self.student_id = "101"
        self.student_name = "Adam Lam"

student = Student()
# Verwendung der Option für den Standardwert
print('Using default value : Cgpa of the student is =', getattr(student, "student_cgpa", 3.00))
# Ohne Verwendung der Option für den Standardwert
try:
    print('Without default value : Cgpa of the student is =', getattr(student, "student_cgpa"))
except AttributeError:
    print("Attribute is not found :(")

Nach dem Ausführen des Codes erhalten Sie eine Ausgabe wie folgt

Using default value : Cgpa of the student is = 3.0
Attribute is not found :(

Beachten Sie, dass ein AttributeError auftritt, wenn der Standardwert beim Aufrufen der getattr() Funktion nicht angegeben wird.

Grund für die Verwendung der Python getattr() Funktion

Der Hauptgrund für die Verwendung von `getattr()` in Python besteht darin, dass wir den Wert mithilfe des Attributnamens als String erhalten können. So können Sie den Attributnamen manuell in Ihr Programm von der Konsole eingeben. Wenn ein Attribut nicht gefunden wird, können Sie einen Standardwert festlegen, der es uns ermöglicht, einige unserer unvollständigen Daten zu vervollständigen. Auch wenn Ihre Studentenklasse noch in Arbeit ist, können wir die `getattr()`-Funktion verwenden, um anderen Code zu vervollständigen. Sobald die Studentenklasse dieses Attribut hat, wird es automatisch aufgegriffen und nicht den Standardwert verwenden. Das ist also alles zur `getattr()`-Funktion in Python. Wenn Sie Fragen dazu haben, verwenden Sie bitte das Kommentarfeld unten. Referenz: Offizielle Dokumentation

Source:
https://www.digitalocean.com/community/tutorials/python-getattr