все Python 3Встроенные функциипонятие
delattr
ООП
Удаляет атрибут объекта по имени. Эквивалент del obj.attr, но позволяет передать имя атрибута как строку динамически.
Синтаксис
delattr(object, name)
Смысл в delattr есть только тогда, когда имя атрибута вычисляется в рантайме; если имя известно заранее, пишите del obj.attr. Удаляется именно атрибут экземпляра: если x объявлен в теле класса, а не присвоен через self, то delattr(экземпляр, 'x') упадёт с AttributeError, хотя чтение obj.x до этого работало. Отсутствующий атрибут — тоже AttributeError, так что подстраховывайтесь hasattr или try/except.
Примеры
class A:
x = 1
def __init__(self): self.y = 2
a = A()
delattr(a,'y')
print(hasattr(a,'y')) # → False
delattr(A,'x')
print(hasattr(A,'x')) # → False
try:
delattr(a,'z')
except AttributeError as e: print(e)
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности