№1 Практическая онлайн-школа обучения языкам программирования Python (Django), JavaScript, Kotlin В. Бовсуновского.

Специальная, подарочная акция получения доступа к Django4!

Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.

  

дата публикации: 20 апреля 2021 г.


Начали изучать природу метода и с первых шагов разбираться как это работает.

К этому сообщению нужные некоторые пояснения.(относится к этим урокам)Что бы был понятен ход моих мыслей.
Если мы хотим выращивать профи и профи умеющего читать чужой код и писать, при этом рассуждать кодом.
В предыдущем уроке 20мы рассмотрели код https://beeware.org/
togo, и вы поняли. что вам реально понятен код.
Наверное вы заметили, что понятен общий смысл кода, а вот мелочи не доступны.
Поэтому план, который мы перед собой поставили в уроке 21 добавить type . рассмортеть __init__,и если вы заметили все больше в коде мы используем магических методов.
Здесь очень простой ответ.Как правило программисты работают с языком несколько лет (ко мне это тоже относилось и это было ошибкой),Пишу программы, но когда смотрят профессиональные продукты, типа джанго, pandas или типа такогоhttps://beeware.org/То их код начинает им напоминать ...овнокод.
Так думать не нужно, просто на самом деле эти люди больше используют функциональный подход.Но ведь есть другой, использование встроенных методов.
Какой вывод я сделал за эти годы.Если учить языку. а потом просто дать эти методы, отдельно, это как в человека попробовать встроить третью руку, не работает такой подход.
Но ведь смотрим код профи, они то используют.Причина понятна, если есть метод, который не нужно объявлять, например вставил в нужно месет __add__ и нечто добавил.Ведь это хорошо.
И вот что я понял за эти годы.Нужно их использовать с первых шагов, так как нужно время. что бы принять, нужно время, что бы переосмыслить, но речь идёт именно в контексте использовать и причём повседневно.И мы это начали делать.
Алгоритм простой и очень понятный:В классы нужно войти изнутри, а не как все снаружи. (что мы и реализуем).
1. Поняли, как работает класс.2. Увидели, как работает __init__,
как вы думаете этого хватит?Вы можете спросить у многих программистов, которые работают с кодом более 5-ти лет, что такое __init__, они вам ответят, что это конструктор.Да. все верно но не совсем так.Что такое конструктор, это метод, который создаёт экземпляр класса.А что создаёт __init__, ничего он не создаёт.А что он делает, он инициализирует начальные свойства. которые мы заложили в базовом классе.
Тогда почему __init__  называют конструктором и это верно.Не знаю, наверное так решили разработчики, что бы не кипели мозги у людей.
Мы с вами рассмотрим, что на самом деле __init__ вызывается вторым, а первым вызывается __new__,
в момент, когда мы написали переменную,
class Aga:    def __init__(self, me, be):        pass

aga = Aga()в этот момент сначала __init__ вызывает __new__ это и есть настоящий конструктор, то есть создаётся экземпляр класса, то есть выполнена работа конструктора, а потом вслед за ним незамедлительно срабатываетсам __init__, значения инициализированы.И как мы видели уже мы не можем вызвать aga, не указав me и be.Наверное разработчики решили не путать народ и просто назвали __init__ конструктором, но в доках все чётко описали.
К чему я это все рассказывал.А к тому. что мы начали это использовать и будем постоянно вставлять в код пока это не станет повседневным.Ориентировать будем на код проектаhttps://beeware.org/
И ещё одна особенность.Вы заметили, что я взялся за self, а уже такая куча уроков.self сердце понимания работы классов, то есть сердце метода, а метод всем рулит в классе.
Как делают все и я ранее так делал идут извне во внутрь (класс >> наследование >> асбстракция) и в итоге хлоп себе дверцу, код то нихрена не понятен, так как начинают под ногами путатся, какие то __init__, мало понятные, путь в никуда или точнее говоря путь уж точно не для написания кода. а уж о размышлении кодом можно забыть.
Мы пошли путём иным.Изнутри наружу.Начали изучать природу метода и с первых шагов разбираться как это работает,

  1. коротко повторим. (повторили в несколько строк хорошо лди вы понимаем пространство имён, ссылка на объект, создание экземпляра и многое другое)

  2. Рассмотрим __init__ в примере на сайте. (help метод) Связи. (понимаем что происходит и зачем)

  3. Принципиальную работу __init__ и __new__(понимаем, как это работает и задаёмся вопросом. а с чем это ещё используется)

  4. Новые классы. новый. старый стиль (важно понимать что старого стиля в питон 3 уже нет и нужно о нём забыть. проверили, при помощи тех же методов с __class__

  5. Расширим, проработаем методы. (вот они детали выплывают, начинаем понимать. как работает это сердце ООП)

  6. type (не зря рассмотрели новый стиль классов, ведь их смысл объединить типы и классы).

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

вторник, 20 апреля 2021 г. в 15:13:01 UTC+3, admin:

21. Классов старого стиля давно нет. Помните это.
Это важное правило в отработке кода. учитесь все проверять.
Сейчас в интернет много записей, что мол есть старый стиль и новый
Но ведь в питон написано, что старый стиль вообще был удалён
А мы с вами это проверили,.
Это важно понимать и важно понимать, что прежде чем приступить к изучению типов, нужно понимать type().
Я делаю таким образом, что бы мы с вами начали писать серьёзный код.

--
© 2009-2021 Валерий Бовсуновский, школа программирования.
---
Вы получили это сообщение, поскольку подписаны на одну из тем в группе "Python (Django ), JS, Kotlin - школа программирования В. Бовсуновского.".





Вcе записи подраздела.


Сейчас вы проходите урок:
Начали изучать природу метода и с первых шагов разбираться как это работает.

<< Назад  |  Далее >>


Все уроки с тегом:  система-отработки-кода