__new__ или __init__ в Python? Знаете ли вы это..

preview_player
Показать описание

В данном видео рассмотрим отличия магических методов __new__ и __init__ в Python. Данные методы также называют dunder методами, потому что они позволяют переопределять поведение классов и реализовывать их нужным вам образом.

Многие разработчики не знают зачем вообще применяется метод __new__, поэтому данное видео отвечает на все эти вопросы как в плане теории, так и в плане практики.

Тайм-коды:
0:00 - Особенности init и принцип работы
1:28 - Что такое магические (dunder) методы в Python?
1:50 - Способ создания экземпляра в обход init метода
2:24 - Важная новость. Обновление курса ООП + Приват канал
4:57 - Паттерн Singleton, магический метод call + Метаклассы
7:26 - Что будет с экземплярами, если они с разными id?
7:41 - Паттерн Одиночка. Dunder метод new + Наследование
8:02 - Что такое cls в методе new?
8:38 - Что запускается раньше, new или init?
9:24 - Что находится в cls и self?
9:52 - Что будет если вернуть None из new?
10:05 - Самый понятный пример с использованием new
11:22 - Метод New + Класс который наследует кортеж
Рекомендации по теме
Комментарии
Автор

Курсов ООП как грязи уже. На том же степике уже есть два курса. Еще один готовится к выпуску. Базовых и продвинутых курсов по питону дочерта уже. А вот чего не хватает так это проф. курсов. Типа ассинхронка, работа с потоками/процессами, работа с БД. Я бы купил хороший проработанный курс по этим темам. Но, увы, их нет. Есть конечно всякие тяжеловесы типа яндекс.практикум или по подиске скиллбокса, но это немного не тот формат.

non
Автор

Классная история "не могу рассказать фишки, потому, что ютуб забанит", улыбнуло)

evalinor
Автор

Спасибо! Все видео норм, с большим углублением в темы чем на других каналах.

vlelbpy
Автор

Спасибо за видео! До этого знал конечно про дандер методы эти и также то что new вызывается раньше init и возвращает именно экземпляр класса, но не задумывался об тонкостях работы с этими методами, а также об super(). После видео стало понятно когда и как это можно использовать.

memoryundone
Автор

фишки пайтона/технология которую запретил ютуб, никогда о таком никто не говорил. реально внезапный поворот...

andriivozniuk
Автор

Я не знал отличия, удобно. Классный пример с кортежем.

yknrbuq
Автор

Как жалко, что на таком понятном и крутом видео так мало лайков. А ведь кому-то реально было полезно, но он не поставил лайк . Честно не понимаю почему люди всеравно не поддерживают автора.

Biolog
Автор

Спасибо, видео оказалось реально полезным!

wmkphsg
Автор

Хорошее видео, я подумаю над твоим предложением )

diz
Автор

Забавно, 3 недели прошло с последнего просмотра видео, тогда было мне бесполезно, но сегодня решил досмотреть и понял, что для меня как-раз сейчас актуально, так-как нужно подключение к базе реализовать в разных местах, а подбрасывать объект через атрибуты надо далеко в глубь, хорошо, что не забыл упомянуть как пример где этот шаблон используется

gilman
Автор

Ребята, не реклама. Я учу питон чуть больше полугода (7.5 месяца) уже работаю по профилю.
Так вот, в свое время я нашел курс данного человека (конечно, слитый, но все же) (да я его тоже покупал, просто у инфоцыган как это водится).
Хочу дать отдельную благодарность человеку с этого канала за такой курс (к слову, то его старый, если он его зарефакторил, то я даже представить не могу насколько он стал крутым). Ни у одного человека я не видел курса ООП лучше. Причем, подход в 3-7 минут идеален, т.к ты точно знаешь что в видосе и тебе не нужно мотать 20-30-40 минутные видосы, где в т.ч очень много воды. У канала незаслуженно мало подписчиков, хотя рассказывает человек очень хорошо ( особенно на фоне его старых видосов) и показывает то, чего не показывает практически никто (я за тонкости, например те же прокси, когда в свое время мне нужно было для модуля реквестов в начале своего пути).
Да, много "повторений", но и у него публика не шибко большая, плюс он всегда что-то дополняет, даже если повторяет.

Так что если действительно ищете хороший курс - он не врет, он у него действительно отличный.
Всем бобра, а автору жирный лайк.

brothersstudio
Автор

Ваша программа становится настолько глубокой, что мало кто сможет в ней разобраться. Даже вы через 2 недели😂😂

А если серьезно, то метапрограммирование это очень мощно и действительно позволяет крутить мутить как угодно.

А еще цитата Лучано Ромальо, автора Fluent Python:
“Метаклассы не нужны 90% разработчиков. А остальным 10% они не нужны в 90% случаев.“

dima.kasper
Автор

На 3:08 есть упоминание о фишках, которые запрещены YouTube - ом...
Что это может быть?

Igor_UA
Автор

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

drimmwald
Автор

ці речі мали би вивчатися на початку вивчення пітона. І все-все було б набагато зрозуміліше. Це сі-подібні штуки, близькі до залізяччя. Коли __new__ бере шмат пам'яті з кучі, структурує, створює простір імен. Привласнює результат змінній. А потім __init__ в цю заготовку напихує зміст - прикладні атрибути.

А, і головне. Якщо розібратися, що таке клас, то клас якби і є сінглтон. Робити потім інстанс - це двічі зберігати одне й те ж в пам'яті.

alexartiushkin
Автор

Сделай ещё видос по метаклассам и работы с ними, динамическую генерацию классов, и динамическую генерацию классов с метаклассами)))

blackcatdevelper
Автор

интересно бывает посмотреть такие видео про небольшие приколы в питоне. единственное, tuple comprehension не существует, там было generator expression в конструкторе кортежа :)

auril
Автор

я так и не понял магические методы. Почему и как они существуют но мы их не видим и почему мы их пишем еще. Например init . Как можно сразу понять? Я даже сформулировать не могу как и что я непонимаю .

Himera
Автор

Половина видео реклама своих курсов. Как я этого ждал, ауено. Больше рекламы, больше...

bddwrzd
Автор

Автор, подскажи плз как именно называется твой курс на степике?

chicago_typewriter