все 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Сообщить о неточности