logo

setattr(object, name, value)

Добавляет объекту указанный атрибут.

Параметры

  • obj: object Объект, который следует дополнить атрибутом.
  • name: str Строка с именем атрибута. Можно указывать как имя нового, так и существующего атрибута.
  • value: Произвольное значение атрибута.

Атрибут объекта (свойство, метод, элемент) будет добавлен в случае, если объект разрешает/поддерживает это действие. Метод зачастую используется в случаях, когда имя атрибута и/или значение заранее неизвестно и содержится в переменной. Для возвращения атрибута используется getattr(). Для удаления атрибута используется delattr(). Для проверки существования атрибута используется hasattr().

Возвращаемое значение

  • Функция setattr() возвращает None.

Примеры

class Person:
name = 'Петр'
p = Person()
print('Имя до:', p.name)
# установка имени 'Василий'
setattr(p,'name', 'Василий')
print('Имя после:', p.name)
# Результат
Имя до: Петр
Имя после: Василий