Учебные материалы по пайтону

Автор: CoolPython

Уже не в первый раз в фидбэке просите посоветовать материалы по Python. В этом посте подборка ресурсов, которые нравятся мне самой.

Люди часто учатся на платных курсах, потому что это заставляет их ответственнее подходить к обучению: раз вложился деньгами, то надо закрывать дедлайны. Но я сама несколько травмирована системой образования с сессиями. Я считаю, что обучение это процесс личный, даже интимный, и надо давать студентам время. Иначе люди начинают либо забивать, либо сдавать домашки, не понимая их, либо ненавидеть процесс. Поэтому ниже набор бесплатных или условно бесплатных курсов и лекций, которые можно пройти в своем темпе. По возрастанию сложности:

Базовый курс по Python (циклы, словари/строки/списки и прочие основы языка) есть на Stepik.

Еще есть хорошая специализация на Coursera. Сначала основы языка, потом более продвинуто: детали, ООП на Python, тестирование, многопоточность, асинхронность и веб-программирование. Мне нравится, что все подробно, с примерами, с задачами на грейдере и близко к реальному миру.

Дока к языку — это must. Можно начать с PEP8, PEP20 и FAQ.

Для начинающих мне нравится Дэн Бейдер «Чистый Пайтон«. Книжка базовая, но очень человечная, автор объясняет вещи простым языком и дает примеры из своего опыта разработки. Но перед покупкой книжки советую посмотреть бложек, потому что книга сделана по его мотивам, только тексты расположены в порядке, удобном для усвоения.

Часто рекомендуют Лутца «Изучаем Python» в двух томах (первый, второй), но я его не очень люблю. Есть такой буддистский коан, в котором учитель льет чай в чашку ученика, пока чай не начинает литься через край. Так же происходит, когда мы пытаемся слишком быстро что-то усвоить и в действительности материал не укладывается в голове. ИМХО, сложность в Лутце растет слишком быстро, но если это в кайф, то вперед.

В Питере, на моей исторической родине, есть Computer Science Center. Это что-то вроде независимой магистратуры, где читают курсы по программированию и открытые тематические лекции. У них есть бомбический канал на YouTube, где можно заценить уровень ребят. Очень советую этот курс по Python за глубину и хорошую проработку материала. На канале есть и другие курсы.

Если хотите с головой окунуться в многопоточность, асинхронность и разобраться, что такое GIL, есть великолепные доклады с ливкодингом от гуру Python Дэвида Бизли.

И если все еще не хватает хардкора, то Филип Гуо на протяжении 10 лекций разбирается в исходниках CPython. Это прям самое крутое из того, что находила в последнее время.

Не то чтобы это был необходимый запас для разработки, но если начал рекомендовать курсы, становится трудно остановиться. Еще есть алгоритмы (раз, два), основы линукса (раз, два), bash, сетей, git и баз данных (раз, два). Можно дополнить пет-проектом — и наскребете аналог одного-двух лет бакалавриата по специальности.

А еще всегда можно оставаться на моем канале CoolPython, где я говорю о простых и сложных штуках. Если есть еще какие-нибудь запросы или можете чем-нибудь дополнить мой список, пишите в фидбэк, обсудим.

PS: Кстати, о Coursera. Если курс покупать не хочется или нет возможности, то многие курсы там можно пройти в режиме слушателя. Обычно это означает доступ ко всем видео и некоторым задачам, но сертификат получить будет нельзя. Если ситуация с деньгами сложная, а сертификат хочется, то можно написать письмо (загуглите, как это сделать), чтобы курс открыли бесплатно. Обычно Coursera лояльны в этом отношении и с высокой вероятностью идут навстречу.

Учитесь и берегите себя!