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)

# Результат

Имя до: Петр
Имя после: Василий