4. Бесполезно изучать ООП Python, если не знать этого о атрибутах.

Опубликовано: 30 Сентябрь 2024
на канале: Как стать разработчиком Python? Метод бомба.
868
22

Дополнительные видео о которых говорил:
Тема. Пишите такой крутой код Python и будете крутым программистом.
   • 1. Крутой Python.  

Видео из жизни участников, когда писать получается и почему
https://spb-tut.ru/programming_school...


----------------------------------------------------------------------------------

Давайте попробуем помочь ребятам через Дениса.

1. Итак, Денис с составление плана справился, но выводы. как и что изучать сделать не смог, в силу малого опыта. (поправимо).

2. Не получилось пока понять на чём остановить внимание и что есть корень в классах. (поправимо).

3. Делаем вывод первый, нам нужно понять, как, где и почему и в силу, каких особенностей используются атрибуты класса?

4. Как, где почему и в силу каких особенностей используются атрибуты экземпляра.

5. исходя из пункта 3 и 4, нам нужно реализовать понимание полуфабрикатов в языке (вы это знаете и это то что точно запоминается). Иными словами программные решения и их обоснование.

6. Мы не сможем понять и сделать все вышеизложенное, если не понимаем разницу между атрибутами класса Python и атрибутами экземпляра Python.

7. Вывод 1. Понять эту разницу.

8. Вывод 2. Видеть эту разницу в исходном коде.(любом, то есть читать код, как следствие писать так же получится точно)
https://github.com/beeware/toga/blob/...

9. Вывод 3. Эти различия должны считываться моментально, как параметры функций в функциях (это относится к любым языкам).

10. Обязательный минимум(кровь с носу). Профессиональное владение функциями и проверить себя, что пишите функции в любых языках.

11. Зачем изучать атрибуты, что получить конкретно применение атрибутов класса и атрибутов экземпляра Python.

12. После понимания, считывания, будет понятно применение и можно перейти к анализу применения и выписать. как я вас учил 12-15 ситуаций.

13. Метод работы с атрибутами, только через исключения(цель понять поведение и связь с исключениями), все остальное пространство имён и так далее будет понятно в ходе примеров.

14. Это первый шаг к качественному изучению ООП(любого языка), без этого дальше в ООП делать нечего и нет смысла вообще тратить силы. Денис, Вам откроется интересная картина, Вы можете проанализировать программы разных курсов и везде Вы увидите, что на атрибуты уделено не более чем несколько часов, будут ли писать эти ребята? Все очевидно. (вам это откроется чуть позже, когда будете понимать о чём я говорю и читать в коде). Иными словами получается, что без разницы что будем сеять морковь, лук или огурцы, а ждать помидоров.(вспомните, пример с теплицей. который я Александру описывал).

Общий вывод. Понимание различий между атрибутами класса Python и атрибутами экземпляра Python должны быть проработано с нуля и сразу до высочайшего уровня и так же считываться на лету, как параметры функций и именно отталкиваясь от этих знаний выстраивать дальнейшую логику.
Метод проработки, через исключения.
Зачем - что бы понять разницу, для применения атрибутов класса и экземпляра(кстати у них разные пространства имён и при одинаковых именах будет выдаваться. что-то одно, то есть нужно понять ещё и приоритет)
Когда будет понятна разница между атрибутами класса Python и атрибутами экземпляра Python, станет понятно их применение и ответ на вопрос почему именно так отпадает сам, так как, атрибуты класса и атрибуты экземпляра имеют разный вызов разные пространства имён и исходя из этого абсолютно разное применение(ведь не зря я вам дал пример с джанго выше). Видимость и вызовы будут в этом случае иметь значение.
Практический навык отработать на исходном коде и использовании API(писать сайт, программу) и чётким выделением атрибутов класса и атрибутов экземпляра, сразу анализируя ситуации, сопоставляя исходный код и применение. (только так будет видно)

И Ура, путь в ООП тогда открыт.

План набросал общий, при работе в этом направлении он приобретёт намного больше подробностей, но направление должно быть понятно.

Если кто-то сомневается. то открываем файл 1
https://github.com/beeware/toga/blob/...

файл 2
https://github.com/django/django/blob...
или любой другой в любом языке.

Я лично там ничего не увидел практически, кроме атрибутов.

Идея думаю понятна.