Python Glossary English

все Python 3Встроенные функциипонятие

getattr

ООП

Получает атрибут объекта по имени как строке. Третий аргумент — значение по умолчанию, если атрибут не существует (иначе AttributeError).

Синтаксис

getattr(object, name[, default])

Значение по умолчанию вычисляется всегда, ещё до самого поиска атрибута, — если оно дорогое или имеет побочный эффект, лучше сначала спросить hasattr. Вторая ловушка: default подставляется на любой AttributeError, включая тот, который бросил код внутри property, поэтому настоящая ошибка в свойстве тихо превращается в «атрибута нет».

Примеры

class A:
    x = 42
a = A()
print(getattr(a,'x'))  # → 42
print(getattr(a,'y',None))  # → None
getattr([1,2,3],'append')(4)  # → [1,2,3,4]
print(getattr('hello','upper')())  # → HELLO
name = 'x'; print(getattr(a, name))  # → 42

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности