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)
# Результат
Имя до: Петр
Имя после: Василий