English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die getattr()-Methode gibt den Wert der benannten Eigenschaft des Objekts zurück. Wenn diese nicht gefunden wird, gibt sie den dem Funktion bereitgestellten Standardwert zurück.
Die Syntax der getattr()-Methode ist:
getattr(object, name[, default])
Die obige Syntax ist äquivalent zu:
object.name
Die getattr()-Methode nimmt mehrere Parameter an:
object -Objekt, dessen benannte Eigenschaftswert zurückgegeben werden soll
name -Zeichenkette, die den Namen der Eigenschaft enthält
default (optional) -Wert zurückgegeben, wenn ein benanntes Attribut nicht gefunden wird
getattr()-Methode gibt zurück:
Wert der benannten Eigenschaft des angegebenen Objekts
default, wenn ein benanntes Attribut nicht gefunden wird
AttributeError-Ausnahme, wenn ein benanntes Attribut nicht gefunden wird und kein Standardwert definiert ist
class Person: age = 23 name = "Adam" person = Person() print('Alter ist:', getattr(person, "age")) print('Alter ist:', person.age)
Wenn das Programm ausgeführt wird, lautet die Ausgabe:
Alter ist: 23 Alter ist: 23
class Person: age = 23 name = "Adam" person = Person() # Wenn ein Standardwert bereitgestellt wird print('Geschlecht ist:', getattr(person, 'sex', 'Male')) # Wenn kein Standardwert bereitgestellt wird print('Geschlecht ist:', getattr(person, 'sex'))
Wenn das Programm ausgeführt wird, lautet die Ausgabe:
Das Geschlecht ist: Male AttributeError: 'Person'-Objekt hat kein Attribut 'sex'
Das benannte Attribut 'sex' existiert nicht in der Klasse Person. Daher wird es bei der Verwendung der Standardwert 'Male' durch die getattr()-Methode zurückgegeben.
Allerdings wird ein AttributeError-Ausdruck ausgelöst, wenn keine Standardwerte bereitgestellt werden und der benannte Attribut 'sex' nicht gefunden wird, d.h. das Objekt hat keine 'sex'-Attribut.