Python Glossary English

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

hasattr

ООП

Возвращает True, если у объекта есть атрибут с указанным именем. Реализован через попытку getattr() — проверяет наличие без исключения.

Синтаксис

hasattr(object, name)

hasattr не заглядывает в устройство объекта, а действительно запрашивает атрибут: у property это выполнит её тело со всеми побочными эффектами и затратами. False возвращается только когда пойман AttributeError — исключение любого другого типа улетит наружу. Если значение атрибута всё равно понадобится дальше, дешевле один getattr(obj, name, default), чем hasattr плюс повторное обращение.

Примеры

class A:
    x = 1
a = A()
print(hasattr(a,'x'))  # → True
print(hasattr(a,'y'))  # → False
print(hasattr([],'append'))  # → True
print(hasattr([],'nonexistent'))  # → False
print(hasattr('str','upper'))  # → True

См. также

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