Функция Python delattr()

Python3 内置函数Встроенные функции Python3


delattr()— это встроенная функция в Python, используемая для удаления атрибутов объекта.

delattr()Она может удалить указанный атрибут объекта. Похожа наdelинструкцию del, но позволяет динамически указать удаляемый атрибут с помощью строки.

Определения слов: delattr 是 delete attribute(删除属性)的缩写。


Базовый синтаксис и параметры

Формат синтаксиса

delattr(object, name)

Описание параметра

  • Параметр object:
    • Тип: любой объект
    • Описание: Объект, атрибут которого нужно удалить.
  • Имя параметра:
    • Тип: String
    • Описание: Имя удаляемого атрибута.

Описание функций

  • Возвращаемое значение: Нет возвращаемого значения.
  • Исключение: Если атрибут не существует, будет вызвано AttributeError.

Примеры

Пример 1: Базовое использование

Пример

class Person:
    def __init__(self):
        self.name = "Tom"
        self.age = 20
        self.city = "Beijing"

p = Person()
print(vars(p))
# Вывод: {'name': 'Tom', 'age': 20, 'city': 'Beijing'}

# Удалить атрибут
delattr(p, "age")
print(vars(p))
# Вывод: {'name': 'Tom', 'city': 'Beijing'}

# Эквивалентно del p.age

Ожидаемый вывод:

{'name': 'Tom', 'age': 20, 'city': 'Beijing'}
{'name': 'Tom', 'city': 'Beijing'}

Анализ кода:

  1. delattr(p, "age") эквивалентно del p.age.

Пример 2: Динамическое удаление

Пример

class Data:
    def __init__(self):
        self.a = 1
        self.b = 2
        self.c = 3

d = Данные()
print(vars(d))

# Динамически удалить атрибуты
attrs_to_delete = ["a", "c"]
for attr in attrs_to_delete:
    if hasattr(d, attr):
        delattr(d, attr)

print(vars(d))  # Вывод: {'b': 2}

Вывод:

Несколько атрибутов можно удалять динамически.

delattr()Вместе сhasattr()это безопаснее использовать.


Python3 内置函数Встроенные функции Python3


Другие расширения