Delattr () видаляє атрибут із об’єкта (якщо об’єкт це дозволяє).
Синтаксис delattr()
:
delattr (об'єкт, ім'я)
delattr () Параметри
delattr()
приймає два параметри:
- object - об'єкт, з якого слід видалити атрибут name
- name - рядок, який повинен бути ім'ям атрибута, який потрібно видалити з об'єкта
Повернене значення відradtr
delattr()
не повертає жодного значення (повертає None
). Він видаляє лише атрибут (якщо об’єкт це дозволяє).
Приклад 1: Як працює delattr ()?
class Coordinate: x = 10 y = -5 z = 0 point1 = Coordinate() print('x = ',point1.x) print('y = ',point1.y) print('z = ',point1.z) delattr(Coordinate, 'z') print('--After deleting z attribute--') print('x = ',point1.x) print('y = ',point1.y) # Raises Error print('z = ',point1.z)
Вихідні дані
x = 10 y = -5 z = 0 - Після видалення атрибута z - x = 10 y = -5 Traceback (останній виклик останній): Файл "python", рядок 19, в AttributeError: об'єкт "Coordinate" не має атрибут 'z'
Тут атрибут z видаляється з класу Coordinate за допомогою delattr(Coordinate, 'z')
.
Приклад 2: Видалення атрибута за допомогою оператора del
Ви також можете видалити атрибут об'єкта за допомогою оператора del.
class Coordinate: x = 10 y = -5 z = 0 point1 = Coordinate() print('x = ',point1.x) print('y = ',point1.y) print('z = ',point1.z) # Deleting attribute z del Coordinate.z print('--After deleting z attribute--') print('x = ',point1.x) print('y = ',point1.y) # Raises Attribute Error print('z = ',point1.z)
Результат роботи програми буде таким же, як і вище.