Talk Python и PyBites: подкасты, курсы, задачки
Python отличный язык для начинающих в программировании и с ним достаточно просто начать делать что-то на практике и решать реальные задачи. Однако, у этого есть обратная сторона: с теми, кто использует Python часто случается так, что изучение нового приостанавливается, после изучения основ. Базовых знаний достаточно для решения своих задач и дальше вроде как нет особо стимула учиться. Просто разбираешься с новыми библиотеками по мере необходимости и всё.
Но в Python ещё очень много полезных вещей, без которых в целом можно и обойтись конечно, но они существенно упрощают жизнь в тех, случаях когда они применимы. Проблема в том как узнать об этих полезных штуках, что изучать и в каком порядке. Я хочу рассказать про несколько полезных ресурсов, которые в этом помогут.
Подкасты
Подкасты - это один из способов расширять знания. Конечно, просто послушать полчаса подкаст, не даст новых знаний, но какая-то новая тема заинтересует. По Python есть достаточно много подкастов и еще больше по программированию, но отдельно хочу порекомендовать подкаст Talk Python to me.
Например, если вы только начали изучать Python, вы удивитесь тому как много есть разных областей применения Python:
- Top 10 machine learning libraries
- Automating the web with Selenium and InstaPy
- 4 Python Web Frameworks, Compared
- Quantum Computing and Python
- Python in Geoscience
- Python in Brain Research at the Allen Institute
Задачки “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 (в порядке от простой к более сложной):