Talk Python и PyBites: подкасты, курсы, задачки

Python отличный язык для начинающих в программировании и с ним достаточно просто начать делать что-то на практике и решать реальные задачи. Однако, у этого есть обратная сторона: с теми, кто использует Python часто случается так, что изучение нового приостанавливается, после изучения основ. Базовых знаний достаточно для решения своих задач и дальше вроде как нет особо стимула учиться. Просто разбираешься с новыми библиотеками по мере необходимости и всё.

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

Подкасты

Подкасты - это один из способов расширять знания. Конечно, просто послушать полчаса подкаст, не даст новых знаний, но какая-то новая тема заинтересует. По Python есть достаточно много подкастов и еще больше по программированию, но отдельно хочу порекомендовать подкаст Talk Python to me.

Например, если вы только начали изучать Python, вы удивитесь тому как много есть разных областей применения Python:

Задачки “Bites of Py”

В подкастах, как правило, можно узнать про какие-то глобальные вещи: новые модули, вариант использования и тп, однако про полезные “мелочи” в самом языке в подкастах вряд ли узнаешь. Тут на помощь приходят задачки. Опять-таки, существует много платформ с задачками HackerRank, CheckIO и другие, но отдельно хочу отметить PyBites.

Что мне нравится в задачках от PyBites:

  • большое количество задач
  • в каждой задаче есть тесты и всегда однозначно понятно правильно ли решена задача
  • при решении задачи можно и нужно смотреть на тесты, чтобы лучше понять, что именно нужно сделать и что будет проверяться, а это практика чтения кода
  • если задача решена неправильно или не до конца, выводится вывод pytest. Поначалу это может показаться минусом и не все в выводе будет понятно, но со временем будет проще понять вывод и это пригодится в будущем, при использовании pytest
  • после решения задачи есть ответ, можно посмотреть варианты решения
  • все задачи направлены на изучение Python и через решение задач действительно можно выучить много нового
  • в задачах рассматриваются такие полезные модули как itertools, functools, datetime, collections, argparse, bs4, requests и другие
  • присутствуют соревновательные моменты: рейтинг и сертификаты

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

И, на всякий случай, я говорю не на основании просмотра пары задач, я решила на этой платформе уже более 100 задачек и все выше сказанное мои впечатления от них. У меня и бумажка есть в подтвержение :)

Курсы TalkPython

И наконец, выучить новое можно на курсах. Тут опять-таки выбор очень большой. Несколько курсов python + network я перечисляла в подборке ресурсов по Python.

Хочу отдельно рассказать про курсы TalkPython. На данный момент у них несколько курсов, разной тематики и среди них есть несколько, которые помогут улучшить знания Python в целом, без ухода в специфическое направление, типа веб-разработки:

  • Write Pythonic Code Like a Seasoned Developer - небольшой, но очень полезный курс, в котором речь о полезных идиомах в языке Python, о том какой вариант кода считается “pythonic”.
  • #100DaysOfCode in Python - этот курс позволит познакомиться с огромным количеством различных тем и все это в контексте проекта 100 дней кода. Если коротко, суть проекта в том, что надо уделять программированию 1 час в день, каждый день в течении 100 дней. С этим курсом пройти 100 дней будет намного проще: в курсе все разделено на блоки по три дня и на каждые три дня выделена своя тема. По каждой теме есть небольшая лекция и идеи заданий. Просто посмотрите на расписание курса - там огромное количество тем. Конечно, речь не о том, чтобы досконально выучить каждую, но с каждой темой можно познакомиться, узнать что-то новое, сделать практические задания.
  • Python 3, an illustrated tour - в курсе рассказывается о новых фичах в Python 3. На мой взгляд полезно не только тем, кто перешел с Python 2.7 на Python3.x, но и тем кто знает только основы Python. С каждой версией Python3 появляются новые возможности и не всегда получается уследить за ними. На просторах интернета, в книгах и статьях, скорее всего, чаще вы будете сталкиваться с функционалом, который не изменился в Python 3. Это логично, так как основы не изменились. А в курсе собраны новые фичи из разных версий питона и они очень хорошо объясняются.

Я покупала bundle всех курсов, потому что все они мне интересны, но это уже надо каждому решать самостоятельно.

Книги

И последний вариант улучшения знаний - книги. По Python книг очень много и сложно выбрать самые-самые, выбор всегда будет немного субъективным.

Книги, которые понравились мне и, на мой взгляд, отлично подходят для того чтобы выйти за основы Python (в порядке от простой к более сложной):