#39. Python Data Classes при наследовании | Объектно-ориентированное программирование Python

Поделиться
HTML-код
  • Опубликовано: 21 сен 2024
  • Курс по Python ООП: stepik.org/a/1...
    Особенности объявления классов данных (Data Classes) при наследовании. Порядок вызова метода __post_init__() при наследовании. Пользовательские методы в параметре default_factory функции field(). Функция make_dataclass().
    Плейлист по Python ООП: • Объектно-ориентированн...
    Инфо-сайт: proproprogs.ru...
    Telegram-канал: t.me/python_se...
    Data Classes: docs.python.or...

Комментарии • 55

  • @leonardodebrycho5795
    @leonardodebrycho5795 2 месяца назад +5

    Спасибо за курс по ООП Сергей!Вы очень хорошо объясняете, желаю вам успехов!

  • @ВячеславШляхетский

    Спасибо огромное. Курс отличный. Я уже писал это по поводу базового курса Python. Вы учите людей не заучивать и механически применять конструкции языка как рецепты из поваренной книги. Вы объясняете не только как это работает, но и ПОЧЕМУ это так работает. Вы учите людей ПОНИМАТЬ язык программирования.

  • @pphan_
    @pphan_ 7 месяцев назад +3

    куплю бмв за 4096
    спасибо огромное за то,что предоставили такой чудесной курс по ооп,честно,я не знаю как бы я продожил изучения пайтона без вас
    вы - божественный учитель, ещё раз огромное спасибо

  • @PETERFILM
    @PETERFILM Год назад +12

    Только думаешь, что после курса Сергея шаришь в ООП, как бац - новые датакассы=)))
    Спасибо за видео!)

  • @Mika-yq5nr
    @Mika-yq5nr 7 месяцев назад +5

    Спасибо, Сергей🎉 выучил питон по Вашим курсам

    • @selfedu_rus
      @selfedu_rus  7 месяцев назад

      Круто! Дальнейших успехов! ))

  • @AlexRootx
    @AlexRootx Год назад +6

    комментарий в поддержку канала!!! Лайк за проделанную работу!

  • @СарматПересветов
    @СарматПересветов Год назад +2

    Вот и подошел к концу отличный курс по ООП. Большое спасибо вам Сергей!

  • @anvarx1
    @anvarx1 Год назад +6

    Просто отличный урок !!! Спасибо что вы делитесь со своими знаниями !!! Скорее у вас тоже не мало текущих научных работ и аспирантов !!!

  • @ГлебОстроух
    @ГлебОстроух Год назад +5

    Спасибо большое за курс! Вы отличный учитель, прошел Джанго и решил снова вдумчиво пройти ООП. Очень рад что таки прошел) Всех Вам благ!

  • @obitouchiha2715
    @obitouchiha2715 Год назад +2

    спасибо, прошел с вами весь путь через питон основы и ооп, вы мое спасение. Если бы не вы не знаю как бы учился. Скоро буду изучать джанго и фласк с вами)

  • @vadoos2501
    @vadoos2501 Год назад +4

    Сергей добрый день.
    Как всегда, все на высшем уровне.
    По моему скромному мнению, это самый лучший канал по Python на всем пространстве Ютуба.
    Подача материала, глубина проникновения в саму суть предмета, простота объяснения, подходящий выбор примеров - я бы все это охарактеризовал - ПРЕПОДАВАНИЕ УРОВЕНЬ БОГ.
    Даже платные курсы не способны сравниться с Вами, это как сравнивать мерседес S-класа и ладу калина, эффект тотже.
    Спасибо большое за Ваш труд.
    Хотел бы уточнить - планируется ли освещение такого очень важного и набирающего популярность модуля Asyncio?
    Что такое процесы, потоки, примеры кода??
    Заранее спасибо за ответ.
    Жму Вам руку, Вы большой молодец!!!🤝🤝🤝🤝🤝🤝🤝

  • @dkuz
    @dkuz Год назад +2

    Спасибо большое за курс, это было прекрасно!

  • @artur.tokranov
    @artur.tokranov Год назад +6

    Спасибо большое за выпуски!
    PS: Было бы здорово, если бы под видео была ссылка не плейлист, куда входит данное видео.

  • @tanyadiduk3640
    @tanyadiduk3640 Год назад +1

    Огромное спасибо за курс!

  • @kimdoc6351
    @kimdoc6351 Год назад +2

    Крутой курс, ты красавчик

  • @BRED_Sosed2024
    @BRED_Sosed2024 10 месяцев назад +1

    Благодарю, классно!

  • @VasilyMT
    @VasilyMT Год назад +3

    Возможно, было бы полезно в вашем исполнении иметь урок про линтер (pylint) . Как, зачем, ...

  • @ツDrAgOn乂Dヅ
    @ツDrAgOn乂Dヅ 7 месяцев назад +1

    Спасибо за ваш труд. Не смог найти на вашем канале про многопоточность и про asincio, такие темы будут расмитриваться на вашем канале?

  • @andredru4278
    @andredru4278 6 месяцев назад +1

    Спасибо. Понятно, но до применения мне еще далеко.

  • @Anonim-im6ln
    @Anonim-im6ln Год назад +2

    👍👍👍👍👍👍

  • @grriimx
    @grriimx Год назад +2

    🔥🔥🔥

  • @jamjam3337
    @jamjam3337 Год назад +2

    👏👍

  • @МаксимНовиков-ь4ц
    @МаксимНовиков-ь4ц 7 месяцев назад +1

    Интересно, почему при создании через декоратор нужно использовать аннотацию, а при использовании функции make_dataclass - нет?

  • @Gvinbleid
    @Gvinbleid Год назад +3

    Вопрос немного не по теме - я бы хотел знать, можно ли инициализировать переменные класса не в самом конструкторе, а в методе который находится внутри класса, а в конструкторе запустить этот метод? Или нужно обязательно инициализировать переменные именно в теле __init__ ?

    • @selfedu_rus
      @selfedu_rus  Год назад +1

      Да, можно, init прописывать не обязательно.

  • @stanislav1125
    @stanislav1125 Год назад +2

    Почему не использовать внутриний GoodsMethodsFactory в Book?

  • @kalivann
    @kalivann 2 месяца назад +1

    Здравствуйте, столкнулся с пробемой что weight: int | float = 0 выдает ошибку при том же коде и библиотеках

  • @ГрейМеня
    @ГрейМеня Год назад +2

    только начал интересоваться, можешь подсказать с чего мне начинать?

  • @PETERFILM
    @PETERFILM Год назад +2

    Сергей, решил перепройти ваш курс по ООП с датаклассами и застопорился уже на 1.3.5, где у класса надо поменять значения атрибутов и добавить новый атрибут. Если в классическом ООП это делается одной строчкой, то с датаклассами непонятно что делать. Гугл говорит, что надо переопределять все дефолтные параметры через post_init , но это какое-то нагромождение кода. Есть ли способ в классе, с дата классами переопределять атрибуты и создавать новые? (тот же setattr не работает). Спасибо!

    • @selfedu_rus
      @selfedu_rus  Год назад

      Что то не совсем понял вопрос. Дефолтные значения параметров инициализатора прописываются очень просто:
      @dataclass
      class ThingData:
      name: str
      weight: int
      price: float = 0
      здесь price будет по умолчанию принимать 0. И так для любых дефолтных значений. Если нужно те, что не входят в инициализатор, то прописывайте их в методе __post_init__() через self и все.

  • @itsmeihope8597
    @itsmeihope8597 Год назад +2

    Извините, а почему на 5:16 вывод book отличается от book.__dict__?

    • @selfedu_rus
      @selfedu_rus  Год назад

      датаклассы переопределяют метод _repr_ и возвращают только объявленные атрибуты, а не все подряд

    • @itsmeihope8597
      @itsmeihope8597 Год назад

      @@selfedu_rus Понял, спасибо!

  • @паатагамахария
    @паатагамахария Год назад +2

    Здравствуйте. Не могли бы вы меня сориентировать по тому какую профессию можно освоить в программировании для того, чтобы сменить профессию. Это может быть и платный курс до 2 лет обучения, но на выходе хотелось бы быть специалистом в этом деле.

    • @selfedu_rus
      @selfedu_rus  Год назад

      Лучше в телеграм-канал сообществу написать (ссылка под видео)

    • @denismaleev3848
      @denismaleev3848 Год назад +2

      два года слишком много. лучше практики на реальных задачах ничего нет. возьмите какой то курс плотный 8-9 месяцев, если тех образование есть, 6 месяцев. идити стажором джуном

  • @kobatrader7375
    @kobatrader7375 Год назад +1

    Какие куры планируете на степике, если будут, то когда?

    • @selfedu_rus
      @selfedu_rus  Год назад

      Сейчас делаю небольшой перерыв и как раз подумаю о новых курсах ))

    • @kobatrader7375
      @kobatrader7375 Год назад +1

      @@selfedu_rus можете создать курс по автоматичному тестированию на пайтоне

    • @kobatrader7375
      @kobatrader7375 Год назад

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

  • @Scoot-Fingerboard
    @Scoot-Fingerboard Год назад +3

    это законченный курс по ооп?

    • @selfedu_rus
      @selfedu_rus  Год назад +1

      Пока да, ждем очередных новшеств от Гвидо ван Россума ))

    • @Leonov77
      @Leonov77 Год назад

      @@selfedu_rus ахах, приятно осознавать, что при обновлении языка можно будет изучить новою информацию конкретно с вами)

  • @aelitakurysheva9784
    @aelitakurysheva9784 Год назад +2

    А на степике будет?

    • @selfedu_rus
      @selfedu_rus  Год назад

      посмотрим )

    • @aelitakurysheva9784
      @aelitakurysheva9784 Год назад

      @@selfedu_rus очень хотелось бы. Отличный курс. Спасибо.

  • @yndolokoppavel3329
    @yndolokoppavel3329 Год назад +1

    Приветсвую автора. Отличный канал. Помогите разобрать этот простой код.
    list3 = [0, 7, 1, 42, 3, 7, 3, 0, 1]
    solo = 0
    for i in range(len(list3)):
    solo ^= list3[i]
    print(solo)

    • @selfedu_rus
      @selfedu_rus  Год назад

      Спасибо! С програми вопросы в ТГ (ссылка под видео).

  • @alexlm2598
    @alexlm2598 Год назад +2

    а зачем аннотировать Any ? можно ж тогда вообще не аннотировать ?

    • @squabble3332
      @squabble3332 Год назад +1

      как я понял аннотация хоть какая-то дает понять что НЕ нужно пропускать поле и инициализировать его НУЖНО

    • @Dazmarus
      @Dazmarus Год назад

      @@squabble3332 Верно, анатация служит для добавления в инициализатор.
      И еще добавлю, что аннотация Any просто полезна в общем случае (не только для dataclasses) , код с аннотациями читается гораздо легче, используйте их обязательно, если есть возможность (Py 3.6+).
      Кстати, у Сергея есть несколько видео по аннотациям, посмотрете если не видели, ссылка на первое - ruclips.net/video/29WDYmT4e1E/видео.html