English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Grundlegende Python-Tutorials

Python Flusskontrolle

Funktionen in Python

Datentypen in Python

Dateioperationen von Python

Python Objekte und Klassen

Python Datum und Zeit

Hochwertiges Wissen von Python

Python Referenzhandbuch

Verwendung und Beispiel von Python getattr()

Python-Standardfunktionen

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

getattr()-Parameter

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()-Rückgabewert

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

Beispiel1:Wie arbeitet getattr() in Python?

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

Beispiel2:getattr() bei der Suche nach einem benannten Attribut

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.

Python-Standardfunktionen