Python

Python getattr( )-Funktion

Python getattr( )-Funktion

Die große Vielfalt der in Python integrierten Module, Funktionen und Anweisungen hilft Programmierern bei der Ausführung verschiedener Aufgaben. Die Funktion getattr() ist eine in Python integrierte Funktion, die es Programmierern ermöglicht, auf den Attributwert eines Objekts zuzugreifen. Wenn der Wert nicht gefunden wird, gibt die Funktion getattar() den Standardwert zurück. Aus diesem Grund wird die Funktion getattr() meistens verwendet, um auf die Attributwerte von Objekten zuzugreifen. Dieser Artikel bietet eine detaillierte Erklärung der Funktion getattr() mit einigen Beispielen.

Syntax

Bevor wir zur Implementierung der Funktion getattr() übergehen, besprechen wir zunächst ihre Syntax. Die Syntax der Funktion getattr() lautet wie folgt:

getattr(Objektname,Attributname,Standardwert)

Die Funktion getattr() übernimmt drei Parameter als Argument:
Objektname: Der Name des Objekts, auf dessen Attribut wir zugreifen müssen.
Attributname: Der Name des Attributs, auf das wir zugreifen müssen.
Standardwert: Der Standardwert, der zurückgegeben wird, wenn das Attribut nicht gefunden wird.

Wenn das name-Attribut nicht gefunden wird und wir den default_value nicht definieren, löst die Funktion getattar() eine AttributeError-Ausnahme aus.

Beispiele

Nun sehen wir uns einige Beispiele an, die die Funktion getattr() verwenden. Wir haben eine Schülerklasse erstellt und einige Attribute für diese Klasse definiert. Wir greifen auf diese Attribute mit der Funktion getattar() zu.

#Schülerklasse erstellen
Klasse Schüler:
#Namensattribut definieren
Name = "Johannes"
#definieren eines E-Mail-Attributs
email="[email protected]"
#Erstellen eines Schülerklassenobjekts
std_obj = Student()
#now std_obj ist unser Objekt
#auf das name-Attribut zugreifen
print("Der Name-Attributwert ist: ",getattr(std_obj,'name'))
#auf das E-Mail-Attribut zugreifen
print("Der E-Mail-Attributwert ist: ",getattr(std_obj,'email'))

Ausgabe

Die Funktion getattr() hat die Attributwerte erfolgreich zurückgegeben.

Jetzt versuchen wir, auf ein nicht definiertes Attribut zuzugreifen. Wir werden den Standardwert für dieses fehlende Attribut definieren.

#Schülerklasse erstellen
Klasse Schüler:
#Namensattribut definieren
Name = "Johannes"
#definieren eines E-Mail-Attributs
email="[email protected]"
#Erstellen eines Schülerklassenobjekts
std_obj = Student()
#now std_obj ist unser Objekt
#auf das Altersattribut zugreifen
print("Das Alter ist: ",getattr(std_obj,'age','Über 20'))

Der definierte Wert ist „Über 20“.

Ausgabe

Bei fehlendem Attribut 'Alter' wird der definierte Wert ausgegeben.

Wenn der Wert nicht definiert ist, löst die Funktion getattr() eine 'AttributeError'-Ausnahme aus. Sehen wir uns ein Beispiel dafür an.

#Schülerklasse erstellen
Klasse Schüler:
#Namensattribut definieren
Name = "Johannes"
#definieren eines E-Mail-Attributs
email="[email protected]"
#Erstellen eines Schülerklassenobjekts
std_obj = Student()
#now std_obj ist unser Objekt
#auf das Altersattribut zugreifen
print("Das Alter ist: ",getattr(std_obj,'age'))

Ausgabe

Sie können auch die Funktion getattr() mit namedtuple verwenden, um auf die Werte zuzugreifen. Das namedtuple ist ein Container vom Typ Dictionary, aber Sie können auf seine Werte mit der Funktion getattar() zugreifen. Das namedtuple ist eine Klasse von Sammlungsmodulen. Lassen Sie uns ein namedtuple implementieren und mit der Funktion getattr() auf die Werte zugreifen. Wir erstellen ein Namedtuple für den Schüler.

#Importieren des Sammlungsmoduls
Sammlungen importieren
#ein Namedtuple für einen Schüler erstellen
#name und alter sind die schlüssel
Student = Sammlungen.namedtuple('Schüler',['Name','Alter'])
#neuen Lehrer erstellen und Werte hinzufügen
std = Student("Johannes",21)
print("Der Name ist:" ,getattr(std,"name"))
print("Das Alter ist: ",getattr(std,"alter"))

Ausgabe

Fazit

Die Funktion getattar() ist eine in Python integrierte Funktion, die den Wert eines Objektattributs zurückgibt. Der Hauptgrund für die Verwendung der Funktion getattr() besteht darin, dass sie den Zugriff auf den Wert eines Attributs mithilfe des Namens des Attributs erleichtert. Der Attributname ist als String definiert, und wir erhalten den Wert mit der Funktion getattar(). Für das fehlende Attribut kann auch ein Wert definiert werden. Nachdem Sie diesen Artikel gelesen haben, haben Sie hoffentlich mehr über die Verwendung der Python-Funktion getattar() erfahren.

So installieren und spielen Sie Doom unter Linux
Einführung in Doom Die Doom-Serie entstand in den 90er Jahren nach der Veröffentlichung des ursprünglichen Doom. Es war sofort ein Hit und seitdem hat...
Vulkan für Linux-Benutzer
Mit jeder neuen Grafikkartengeneration stoßen Spieleentwickler an die Grenzen der grafischen Wiedergabetreue und kommen dem Fotorealismus einen Schrit...
OpenTTD vs. Simutrans
Das Erstellen einer eigenen Transportsimulation kann Spaß machen, entspannend und äußerst verlockend sein. Deshalb sollten Sie so viele Spiele wie mög...