Функция setattr () устанавливает значение атрибута объекта.
Синтаксис setattr()
функции:
setattr (объект, имя, значение)
Если вы хотите получить атрибут объекта, используйте getattr ().
setattr () Параметры
setattr()
Функция принимает три параметра:
- объект - объект, атрибут которого должен быть установлен
- name - имя атрибута
- значение - значение, присвоенное атрибуту
Возвращаемое значение из setattr ()
setattr()
Метод не возвращает ничего; возвращается None
.
Пример 1. Как setattr () работает в Python?
class Person: name = 'Adam' p = Person() print('Before modification:', p.name) # setting name to 'John' setattr(p, 'name', 'John') print('After modification:', p.name)
Вывод
До модификации: Адам После модификации: Джон
Пример 2: Когда атрибут не найден в setattr ()
Если атрибут не найден, setattr()
создает новый атрибут и присваивает ему значение. Однако это возможно только в том случае, если объект реализует __dict__()
метод.
Вы можете проверить все атрибуты объекта с помощью функции dir ().
class Person: name = 'Adam' p = Person() # setting attribute name to John setattr(p, 'name', 'John') print('Name is:', p.name) # setting an attribute not present in Person setattr(p, 'age', 23) print('Age is:', p.age)
Вывод
Имя: Джон Возраст: 23