Python. К вершинам мастерства. Изучаем продвинутый Python
Vložit
- čas přidán 16. 07. 2024
- Мой курс «Хардкорная веб-разработка» - course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: botanim.to.digital/
Telegram - t.me/t0digital
Промокод на скидку на покупки книги в издательстве ДМК: t0digital_dmk
00:00:00 Стартуем
00:01:13 Модель данных в языке Python
00:37:32 Массив последовательностей
01:05:44 Словари и множества
01:31:39 Unicode-текст и байты
01:55:16 Построители классов данных
02:28:15 Ссылки на объекты, изменяемость и повторное использование
02:44:23 Функции как полноправные объекты
03:05:26 Аннотации типов в функциях
03:43:52 Декораторы и замыкания
04:01:09 Реализация паттернов проектирования с помощью полноправных функций
04:24:12 Объект в духе Python
04:55:18 Специальные методы для последовательностей
05:06:36 Интерфейсы, протоколы и ABC
05:24:44 Наследование: к добру или к худу
05:53:15 Ещё об аннотациях типов
06:13:59 Перегрузка операторов
06:19:28 Итераторы, генераторы и классические сопрограммы
06:35:31 Блоки with, match и else
06:50:30 Модели конкурентности в Python
07:07:04 Конкурентные исполнители
07:11:34 Асинхронное программирование
08:06:39 Динамические атрибуты и свойства
08:19:21 Дескрипторы атрибутов
08:23:18 Метапрограммирование классов
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
- Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
- Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Telegram канал - t.me/t0digital
ВК - digitalize.team
RuTube - rutube.ru/channel/24802975/ab...
Дзен - dzen.ru/id/6235d32cb64df01e6e...
Эта книга в списке обязательной литературы моего курса course.to.digital/
Сам ее недавно прочитал. Хоть на питоне 8 лет пишу, много нового для себя открыл :D
Можно потом с серьезным лицом говорить: "я то знаю что такое Py object"
Не воуроженным глазом видны проблемы и огромные пробелы в знаниях угливодной диеты. Повышенная утомляемость и пониженная мотивация - это причины неправильного питания. Тебе бы это подучить, чтобы жить дольше и быть продуктивнее. Повышенный стрес перерабатывает белки в углеводы, это тоже нужно учитывать и не картизолить. Удачи.
Вот это реально сейчас твоя личная проблема, а не Python. Возьми себя в руки и поработай над этим, а то в таком организме далеко не уедешь.
Это наверное первое в жизни 8 часовое видео, которое я посмотрю ))) Да еще и с пользой! Спасибо!
Видимо у тебя еще не было расстройства сна и ты не знаешь про 11 часовые видео для него)))
@@firstnofateА зачем спать, если не получается? Как раз можно позаниматься чем-то скучным, что давно откладывал, так и сон нагонишь.
Надеюсь когда-нибудь Асфьев потянет такой тайминг
Спасибо, благодаря этому видео, я сдал курсовую в институте, потому что выспался!
Здоровый сон рулит!
да это же целый курс по продвинотому питону. Большое спасибо
почти 9 часов! Обалдеть. Будем посмотреть, спасибо ))
Это потрясающе, спасибо за старания
Обалдеть. Спасибо большое!!!! Видео формат лично мне приятнее, чем чтение книги. А такой информацией очень хотелось овладеть
Кайфуем. Получаем удовольствие. Спасибо автору и успехов учащимся🤙
О, супер! Я как раз в процессе чтения! Спасибо, Алексей!
Безусловный лайк! Спасибо большое за труд!
Алексей, огромное спасибо за Ваш труд) Хотелось бы больше подобного контента у Вас на канале) 😍
просто офигеть
Алексей, ты крут!
Масштабный труд. Автору большое спасибо. Посмотрел на одном дыхании.
Большое спасибо. Это действительно колоссальный труд 💪
Мега респект, о таком царском подгоне даже и не мечтал!!!
Спасибо Вам. Книжка в наличии, теперь должно быть чуть понятнее))
Ёмае, это правда. Ну ладно, начнем просмотр, паралельно разработаб дизайн сайта. Надеюсь к концу видоса, закончу дизайнить
с удовольствием смотрю видосы. и жизненно и полезно
Офигеть! Спасибо!
Спасибо вам огромное!
Ничоси. Думал под чаёк гляну ролик, а тут на целый рабочий день :)
Спасибо за такой объемный и классный материал по книге. По дескрипторам нужен сюжет !
Вот это опус магнум! Класс, спасибо!
Комментарий оставляю, лайк ставлю. Очень достойно Леха, спасибо
Как всегда Дитжит очень щедр!
😊😊😊
Леха, ну ты просто космос!
Офигеть контента, конечно, привалило! Спасибо, придется где-то искать время на просмотр этого видео, и книжку заодно прикупить после! По таймкодам побегал, особенный интерес вызывают аннотации типов. Лайк до просмотра, такой контент за бесплатно - это конечно какой-то невиданный праздник в нашем платном мире!
ностальгия по тому как это в книжном проходили, каеф, Алексей - вы топ (для меня, точно)
Ждем видео о интерфейсах и протоколов!
Я ее как раз начал читать пару недель назад, приятно был удивлен увидев ее на этом канале
невероятный труд
Великолепно❤
Кажется, это видео может претендовать на рекорд досмотров при такой продолжительности ))) очень вовремя, прям спасибо!
Большое спасибо
То чувство когда следующие 9 часов пройдут с кайфом 😌
Ishlaringizga omad bro
Спасибо за такой контент! Я дочитал до 10 глави, несколько глав для меня были сложноваты, но теперь буду читать с вами
Уважаемый Диджай (Джидай от Диджитала).
Давно смотрю, слушаю.
Прошу Вас продолжать в том же духе.
Фрейворки Вам в помощь!
И Спидран под капот мотивации варить и делиться плюшками.
8 часов - круто!
Ого!!! 8 часов - это точно того стоит
Спасибо
Чтобы вспомнить всё перед собесом - идеально!
По распакове всегда думал что * торчит за args, а ** за kwargs. Все гибко, четко и никакая универсализация тут не нужна. Спасибо за видео!
В топ! Highly recommend!!!
Пока не готов, ещё первый том Лутца не пройден, вернусь позже. Автору огромная благодарность
Планы на ближайшую неделю:
1. Сдать ЕГЭ по информатике
2. Посмотреть 8 часовой видос про python
От души
Кайф🤤
Очуметь, хочу историю продакшена этого ролика.
Алексей, спасибо за такой отличный подарок!
Есть ли в планах поделиться разбором книги по asyncio Мэттью Фаулера?
ну ты титан, сесть и 9 часов рассказывать. Я поначалу подумал, а чего такое вступление длиннющее(фоном слушал), глянул длительность ролика и охренел. Это именно то что мне нужно, а то книги слушать приходится
так он же не за раз это делал ) , просто соединил все видео, там большие промежутки между ними
Не выпускал долго видосов. Запилил за все время 😮
8 ЧАСОВ 😮
По-моему это самое длинное видео на канале. Или все таки стримы дольше были? Большое спасибо за видео!
Как же Вы вовремя! Благодарю! Теперь, наконец-то, структурирую свои знания по этому замечательному языку! :)
Ой ой ой ой, всё, закрываюсь дома. Вот это пушечка вышла.
Огнище
Привет, уговорил пойду то же прочту книжечку =)
Хотя сам сейчас перечитываю книжечку "Python на практике", старенькая правда.
После первого часа видео понял, что больше не могу слушать пересказ - и пошёл взял триал на чтение в O'REILLY. Спасибо за вдохновение читать!
какие книги еще посоветуйте для среднего уровня?
У меня есть книга Полла Берри и Васильева А.Н., но такая толстенная только в электронном варианте, и то на английском. С удовольствием посмотрю 8 часов, чего почерпну полезного.
Я её всю прочитал, от корки до корки :) Но всё же советую оригинал брать, в русском переводе есть ошибочки вроде "обратной трассы" (это про traceback) и поехавшей разметки REPL. Хотя такого и не очень много, справедливости ради.
привет! спасибо за видео)
интересно было бы узнать подробнее про момент в 2:20:10, а именно про хранение атрибутов не в __dict__ а в другой структуре при использовании slots. Ну и про хранение в дикте тоже тоже не будет не лишним сказать пару слов) про логику, завязанную на использование __dict__, тоже интересно твоё мнение. Как по мне то где-то между "лучше избегать" и "дичь"
Я ради этой книги покупал доступ в сообщество :) А ради сообщества купил эту книгу :)
Перестал заниматься программизмом с уходом Delphi, но почему-то регулярно смотрю этот канал. Он заставляет меня скрипеть на Питоне для мелких нужд. И это в 50++. И этот гигастрим тоже смотрю. Я облаял этот ролик, пламенное вам мерси.
всё понял, кроме "облаял"
@@user-gq9rm9rf8i это как пометил дерево, только облаял
@@user-gq9rm9rf8i поставил Лайк.
А что такое программизм? Не занимайтесь этим.
Мелкие нужды это наскрипеть программизмом список покупок? Или, что?
С пирожком и колесом автомобиля очень убедительный пример)
кайф
а что посоветуете прочитать перед этой книгой?
3:44:04 Я вообще их не использую и не могу понять когда их стоит применять, а когда нет. Во многих примерах применения декораторов указывается записи логов, мол это удобно, но я не вижу в этом удобства, можно из одной функции вызвать другую функцию, которая залогирует то, что мне нужно, и я не буду строить велосипед. Хотелось бы вашего комментария на эту тему, когда же все-таки нужно применять декораторы и в каких случаях лично вы их применяете?
2:14:30 Для тех, у кого проставлено значение в аннотации можно указать ClassVar и путаницы не будет
сделай обзор на helix кстати)
Мне понравилось разнообразие часовой коллекции.
Люблю часы
это мы смотрим
3:30:10 лично я использую Ellipsis для протоколов, потому что там не бывает реализации никакой, это чисто какая то сигнатура для типов, а я для абстрактных классов я использую pass, потому что там там может быть реализация : )
но, возможно, я не прав насчёт реализации для абстрактных методах в абстрактных классах, хотя оно будет работать, если реализовать абстрактный метод в дочернем классе и вызвать абстрактный метод родительского класса через функцию super
Был у меня один кейс, после которого в абстрактных методах явно вызываю исключение NotImplementedError вместо pass или ...
Пример:
from abc import abstractmethod, ABC
class AbstractClass(ABC):
@abstractmethod
def get_data(self, *args, **kwargs):
pass
@abstractmethod
def set_data(self, *args, **kwargs):
raise NotImplementedError
class RealClass(AbstractClass):
pass
def main():
val = 123
q = RealClass
print(q.get_data(val)) # не рейзит ошибку
print(q.set_data(val)) # рейзит ошибку
if __name__ == "__main__":
main()
Да, может показаться несколько притянутым за уши, но что-то очень похожее было на проекте.
8 часовой видос, а ещё и бесплатный, а не в рамках курса за 100к. Умеешь удивлять))
Курса за 100к больше нет с нами😥
@@t0digital теперь он стоит 120к?? 😱
@@megaman13able пока да:)
кто нибудь знает годный бесплатный курс ооп питона? искал когда-то давно, но не нашел
Хорошая идея - краткий пересказ всех глав книги!😊
Как порекомендуете ставить typing для QuerySet с конкретной моделью Django, чтоб Pycharm мог подсказывать поля модели?)
На 30:00 можно еще dict.setdefault использовать)
Алексей, без очков тебе очень идёт 🤌
По тестированию на Python есть отличная книжка - Brian Okken "Python testing with pytest". Когда-то я прочитал эту книгу и стал автотестером.)
Алексей, спасибо за видео. Интересно слушать =)
Вы упоминаете вещи, которые вам показались интересными. У меня есть набор конспектов по python, где я в том числе эти особенности описываю. Если интересно, могу прислать ссылку. Там немного, чуть больше 100 страниц. Может быть чем-то еще заинтересую вас в базовом питоне.
PS: там есть несколько ошибок, которые мне все лень поправить, думаю вы их заметите по ходу чтения.
PPS: ни коим образом не хочу претендовать на ваше обучение, но какой-то набор фактов может быть будет новым =)
для data-scientist есть numpy. array позволяет быстрее обрабатывать в простых алгоритмах однотипные данные, чем список. Потому что нет необходимости из кучи дергать данные (насколько я помню реализацию array). После языков типа С/С++ идея становится понятнее (там же вопрос про индексацию становится более прозрачным).
Про разницу "по" и "до" интересное замечание.
оооо, про словари цитатка огненная, когда чуть внутрь реализации посмотрел цитатка прям играет =)
Классная идея с dict из списка параметров. Интуитивная, но раньше не встречал. Ведь по факту мы же передаем словарь параметров (возвращаясь к цитате про словари).
Про byte array и bytes скорее "Битовая последовательность". Хотя все очень ситуативно. Не всегда корректно исходя из постановки задачи переводить байты в биты или называть массив строкой.
Привет! Я не согласен с твоим мнением о множественном наследовании интерфейсов. На мой взгляд, это отличный способ следовать принципу DRY. Множественное наследование, в случае интерфейсов, не несёт в себе никаких рисков, так как они не содержат реализацию и не раскрывают детали потомкам. Стоит отметить, что более правильным подходом было бы создание нового интерфейса, который наследует несколько других. Кстати, расширение интерфейсов - это весьма распространённая практика в Go.
2:16:20 - А разве это опечатка, при изменении атрибута `b` DemoDataClass.b = 2.2, экземпляры DemoDataClass не меняются. То есть пишем demo = DemoDataClass(1) vars(demo) и видим у нас 2 проинициализированные переменные, значит ли это, что это всё же атрибут экземпляра класса?
Товарищи, подскажите - нужно читать книгу, а потом смотреть видео, или видео, в некоторой степени, заменяет книгу?
Прямо сейчас читаю её просто, уже на третьей главе)
Вот и думаю, видео смотреть или отложить до момента как дочитаю, а то мало ли спойлеры
Я не перессказываю книгу, несмотря на размер видоса. Это просто комментарии по ходу чтения каждой главы. Видео точно НЕ заменяет книгу. В идеале я рекомендую и читать главу, и смотреть по ней комментарии. Но и видео в отрыве от книги полезно, хотя и сильно меньше, чем книга+видео. Подсвечу особенно главу по асинхронному Python 07:11:34. Но и остальные хороши:)
@@t0digital спасибо!
😮😮😮
А есть ли резюме этой книги в каком-то либо текстовом представлении?
ребята, скажите кто знает.... почему браузеры не задействуют CUDA ядра при их наличии? NVIDIA вроде постарались и есть хорошая документация, как для С++ так и для Python. в чем проблема?
Подскажите, вижу у вас направленный микрофон союз, а помещение у вас подготовленное? Очень понравился звук в видео. Спасибо
Помещение не подготовлено. Эхо сильное. На обработке давилось в izotope rx. Звук моего голоса мне больше нравится с Rode ntg3, который в начале видео
@@t0digital большое спасибо, за быстрый ответ 🤝👍
2:06:56 разве == сравнивает идентификаторы объектов? насколько мне известно этим занимается оператор is
какую программу ты использовал в прошлых видео для показа нажатых клавиш?
Keycastr вероятно
1:54:00 - а почему тааак? у меня на винде в файлах тоже кодировка ютф 8.
Подскажи пожалуйста как эта книга для начинающих?
Базу прошел(типы данных, хеш таблицы, циклы и т.д.), нравиться работать с данными, иду в сторону
data engineering.
это не книга для начинающих. Для начинающих по Python «Начинаем программировать на Python» 5-е изд
Такой толщины книга по Делфи сломала мои мечты в детстве😂
Алексей, подскажи, сколько надо иметь опыта работы/практики с python чтобы можно было прочитать эту книгу?(Твое мнение).
Спасибо.
Надо уже уверенно программировать на питоне, причем эта уверенность должна исходить из уже полученного практического опыта. До этого момента - возможно, будет тяжело
2:49:23 возможно чего-то не понимаю в этой жизни, но ты вроде как в лист компрехеншене просто создал 100 объектов лямбда - функций))
8 часов...)))
И ещё 42 минуты
И 45 секунд не забывайте
Так, а разве на 02:48:30 (последний случай с лямбдой) что-то интерпретируется в лист комперхенсион?
czcams.com/video/yHckrS1lvG8/video.html
Там же не инты не будут кастоваться из-за лямбды как раз
Получится что-то по типу:
[ ..., ]
🤔
Ультанул на 8 часов, жесть
А если сравнивать с Лутцем? Что даёт лучшее понимание? Или это все субъективно?
Мне Лутц не понравился.
девопсом уже 3й год работаю, ниразу не встречал приложений на питоне =(
О боги, это безумие!
Ну да!