Вебінар «Attribute Access: як насправді працює Python» (подія в архіві)

Відбулось
18 лютого (середа)
Початок
19:00
Місце
онлайн
Вартість
безкоштовно
Підуть

🧠 Python Under the Hood

Частина 1: Дескриптори та механіка доступу до атрибутів

📅 18.02.26 | 19:00

📡 Live Stream | 2+ години

🎯 Middle+ / Senior / Architects

📌 IT Education HUB

Ви впевнені, що розумієте Python?

Що насправді відбувається, коли ви пишете:

obj.method()

  • Звідки береться self?
  • Чому @property має вищий пріоритет, ніж атрибут інстансу?
  • Чому функція в класі автоматично стає bound method?
  • Чому одні атрибути «перемагають» інші?
  • Як Python вирішує, що саме повернути?

Більшість розробників використовують дескриптори щодня

і не усвідомлюють цього.

ORM, property, staticmethod, classmethod, cached_property, __slots__ — усе це побудовано на одному механізмі.

Цей стрім — не про синтаксис.

Це розбір Python Object Model на рівні механіки виконання.

Що буде в 1 частині

1️⃣ Python Object Model без магії

  • Як пов’язані object, type, клас і інстанс
  • __dict__ класу та об’єкта
  • Memory layout об’єкта
  • MRO (Method Resolution Order) — що реально відбувається

2️⃣ Повний алгоритм пошуку атрибутів (крок за кроком)

Розберемо реальний порядок доступу:

  1. Data descriptor
  2. Instance __dict__
  3. Non-data descriptor
  4. Class __dict__
  5. MRO
  6. __getattr__

З live-демонстрацією кожного етапу.

Після цього ви більше ніколи не будете «гадати», чому Python поводиться саме так.

3️⃣ Функція — це дескриптор

  • Чому метод — це не просто функція
  • Як працює __get__
  • Що таке method binding
  • Чому obj.methodClass.method

4️⃣ Descriptor Protocol

  • __get__
  • __set__
  • __delete__
  • Data vs Non-data descriptors
  • Пріоритети та конфлікти

5️⃣ @property під капотом

  • Чому це дескриптор
  • Чому він має вищий пріоритет
  • Що реально відбувається під час звернення

Формат

  • 2+ години глибокого technical deep dive
  • UML-схеми
  • Live-coding в реальному часі
  • Демонстрація механіки, а не слайдів
  • Без поверхневого пояснення

Результат після 1 частини

Ви:

  • Розумієте повний алгоритм attribute lookup
  • Бачите, як Python реалізує binding
  • Чітко розумієте роль дескрипторів
  • Перестаєте сприймати мову як «магічну»
  • Починаєте мислити категоріями object model

⚙️ Python Under the Hood

Частина 2: Дескриптори як інженерний інструмент

📅 19.02.26 | 19:00

📡 Live Stream | 2+ години

🎯 Middle+ / Senior / Architects

Перша частина — механіка.

Друга — інженерія.

Ми переходимо від «як працює» до «як це використовувати правильно».

Дескриптори — це не тема про Python.

Це тема про архітектуру контролю доступу до стану.

Що буде в 2 частині

1️⃣ __set_name__ і правильний дизайн

  • Організація внутрішнього стану
  • Типові помилки
  • Де зберігати дані
  • Як не допустити state leakage

2️⃣ Побудова mini-ORM з нуля (live)

Створимо:

  • BaseField
  • IntegerField
  • StringField
  • Централізовану валідацію
  • DRY-архітектуру

Після цього ви зрозумієте, як працюють Django ORM, SQLAlchemy та інші системи під капотом.

3️⃣ Lazy Loading і кешування

  • Реалізація cached_property
  • Відкладене обчислення
  • Performance аспекти
  • Контроль життєвого циклу даних

4️⃣ __slots__ і memory model

  • Як __slots__ реалізовані через дескриптори
  • Економія пам’яті
  • Memory layout інстансу
  • Коли це виправдано, а коли — ні

5️⃣ Edge Cases

  • Multiple inheritance
  • Descriptor overriding
  • Weak references
  • Підводні камені

6️⃣ Descriptor vs Metaclass

  • Де проходить межа
  • Коли достатньо дескриптора
  • Коли потрібна метакласа
  • Антипатерни

Формат

  • 2+ години live-coding
  • Побудова архітектури з нуля
  • Розбір production-рівня кейсів
  • Аналіз помилок

Результат після 2 частини

Ви:

  • Проєктуєте власні дескриптори
  • Розумієте архітектуру ORM
  • Усвідомлюєте memory model Python
  • Чітко розмежовуєте descriptor і metaclass
  • Мислите як інженер системного рівня

Чому це важливо

90% матеріалів про дескриптори:

  • пояснюють тільки __get__
  • не розглядають object model
  • не показують повний алгоритм lookup
  • не дають інженерного застосування

Це буде фундаментальний, системний розбір без спрощень.

📌 Підписуйтеся на YouTube:

www.youtube.com/@IT_education_HUB

І вмикайте нагадування — це буде серія «Python Under the Hood», яка змінить ваше розуміння мови.

📌 Підписуйтеся в ТГ:t.me/IT_education_HUB

💡 Усі статті, обговорення, новини про Python — в одному місці. Приєднуйтесь до Python спільноти!

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Посилання на трансляцію:
1 частина:
2 частина:

Підписатись на коментарі