TGViewer
Симулейтив Симулейтив @simulative_official · 7.45K subscribers
Post #2416 2.19K
🔥 Создание поля объектов в Python с помощью setattr()

В работе с Python порой возникают ситуации, когда нужно динамически создавать поля объектов. Например, вы можете столкнуться с задачей занесения данных из словаря в атрибуты класса (мы столкнулись с такой задачей 🙂).

Код, который вы напишете для этой задачи, должен уметь обрабатывать различные словари со своим набором ключей и значениями. Неординарная задача. Но мы знаем, как это сделать!

🟢 Один из способов решения этой задачи - использовать функцию setattr(). Эта функция позволяет динамически назначать поля объекта во время выполнения программы. Она принимает три аргумента: объект, имя атрибута и значение атрибута.

Например, предположим, что у нас есть словарь my_dict:

my_dict = {
    'name': 'Максим',
    'age': 25,
    'city': 'Москва'
}

Мы можем создать объект Person и использовать функцию setattr() для присвоения значений атрибутам:

class Person:
    pass

p = Person()
for k, v in my_dict.items():
     setattr(p, k, v)

В результате мы получим объект Person с атрибутами name, age и city.

📎 Такой подход кажется крайне удобным, потому что мы автоматизируем создание атрибутов и избегаем ручной обработки.

💡 Кроме того, функция setattr() может пригодиться в других ситуациях, когда нужно динамически создавать поля объекта. Например, при работе с API или базами данных, когда набор полей может меняться в зависимости от запроса пользователя.
  • ❤ 15
  • 🔥 8
  • 👍 5
More from @simulative_official
  1. Oct 18, 2026Уже сегодня разберёмся, зачем аналитику SQL SQL помогает получить из большой базы именно т…
  2. Oct 16, 2026❗️ Новая дата вебинара с Евгением Буториным Друзья, будем рады встретиться с вами 18 октяб…
  3. Oct 16, 2026Как работают консьюмеры в Kafka? Привет! На связи Валерия Елпатьевская, ментор курса «Инже…
  4. Oct 15, 2026Уже сегодня: расследование падения продаж интернет-магазина Сегодня в 19:00 МСК Вячеслав П…
  5. Oct 14, 2026Post #3620
  6. Oct 13, 2026💻💻💻💻💻 Падение продаж: как аналитик превращает размытый вопрос в расследование? Руково…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →