Website-Suche

Python getattr()


In unserem vorherigen Tutorial haben wir über das Python-Systemkommando gelernt. In diesem Tutorial werden wir über die Python-Funktion getattr() sprechen.

Python getattr() Funktion

Die Python getattr()-Funktion wird verwendet, um den Wert eines Attributs eines Objekts abzurufen, und wenn kein Attribut dieses Objekts gefunden wird, wird ein Standardwert zurückgegeben. Im Grunde genommen ist die Rückgabe des Standardwerts der Hauptgrund, warum Sie die Python getattr()-Funktion verwenden müssen. Lassen Sie uns also, bevor wir mit dem Tutorial beginnen, die grundlegende Syntax der Python-getattr()-Funktion ansehen.

getattr(object_name, attribute_name[, default_value])

Python getattr() Beispiel

In diesem Abschnitt werden wir lernen, wie man Attributwerte eines Objekts mit der getattr()-Funktion abruft. Angenommen, wir schreiben eine Klasse namens Student. Die grundlegenden Attribute der Klasse Student sind student_id und student_name. Jetzt werden wir ein Objekt der Klasse Student erstellen und auf dessen Attribut zugreifen.

class Student:
    student_id=""
    student_name=""

    # initial constructor to set the values
    def __init__(self):
        self.student_id = "101"
        self.student_name = "Adam Lam"

student = Student()
get attribute values by using getattr() function
print('\ngetattr : name of the student is =', getattr(student, "student_name"))

but you could access this like this
print('traditional: name of the student is =', student.student_name)

Also wird die Ausgabe so aussehen.

Python getattr() Standardwert

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

class Student:
    student_id=""
    student_name=""

    # initial constructor to set the values
    def __init__(self):
        self.student_id = "101"
        self.student_name = "Adam Lam"

student = Student()
using default value option
print('Using default value : Cgpa of the student is =', getattr(student, "student_cgpa", 3.00))
without using default value
try:
    print('Without default value : Cgpa of the student is =', getattr(student, "student_cgpa"))
except AttributeError:
    print("Attribute is not found :(")

Nachdem Sie den Code ausgeführt haben, erhalten Sie eine Ausgabe wie diese.

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

Beachten Sie, dass AttributeError ausgelöst wird, wenn der Standardwert nicht angegeben wird, während die Funktion getattr() aufgerufen wird.

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

Der Hauptgrund für die Verwendung von Python getattr() ist, dass wir den Wert durch den Namen des Attributs als Zeichenfolge abrufen können. So können Sie den Attributnamen manuell in Ihr Programm über die Konsole eingeben. Wenn ein Attribut nicht gefunden wird, können Sie auch einen Standardwert festlegen, wodurch wir einige unserer unvollständigen Daten vervollständigen können. Wenn Ihre Student-Klasse in Arbeit ist, können wir die getattr()-Funktion verwenden, um anderen Code zu vervollständigen. Sobald die Student-Klasse dieses Attribut hat, wird es automatisch erkannt und der Standardwert wird nicht verwendet. Das ist alles zur Python getattr()-Funktion. Wenn Sie dazu Fragen haben, nutzen Sie bitte das Kommentarfeld unten. Referenz: offizielle Dokumentation.