Сообщить об ошибке.

Функция setattr() в Python, создает атрибут объекта

Устанавливает атрибут объекта по имени

Синтаксис:

setattr(object, name, value)

Параметры:

  • object - объект, значение атрибута которого требуется установить,
  • name - имя атрибута, должно быть строкой,
  • value - произвольное значение атрибута.

Описание:

Функция setattr() устанавливает значение атрибута указанного объекта по его имени.

Это аналог функции getattr(). Аргументами являются объект object, строка с именем name атрибута и произвольное значение value устанавливаемого атрибута.

Имя name должно быть именем существующего атрибута или будет создан новый атрибут. Функция присвоит значение атрибуту, если объект позволяет это. Например setattr(x, 'foobar', 123), эквивалентно x.foobar = 123

  • Для возвращения атрибута используется getattr().
  • Для удаления атрибута используется delattr().
  • Для проверки существования атрибута используется hasattr().

Примеры создания атрибутов объекта "на лету".

class MyObj:
    name = 'Chuck Norris'
    phone = '+666111000'

setattr(MyObj, 'phone', '+600000000')
setattr(MyObj, 'country', 'Norway')

# Получим атрибуты из объекта MyObj:
human = MyObj()
x = getattr(human, 'phone', '+600000000')
y = human.country
print(x, y)
# +600000000, Norway