Популярность и востребованность Python привели к появлению огромного количества всевозможных ресурсов, посвященных изучению языка. Далеко не все из них можно назвать эффективными: во многих книгах материал изложен сухо и скучно, задачи и примеры на большинстве сайтов примитивны и банальны, а значительная часть курсов (платных в том числе) не оправдывает ожиданий.
И в то же время существуют увлекательные и эффективные ресурсы, которые действительно помогают в изучении Python с нуля. Начнем с курсов.
Курсы Python
Бесплатный онлайн-курс – самая простая возможность проверить, насколько вам интересен Python: все, что от вас потребуется – один-два часа свободного времени в день. Кроме того, курс лучше подходит для первого знакомства с программированием, чем книги и туториалы: решение интересных задач и общение с единомышленниками обеспечивают отличную мотивацию.
Подобрать Python курс для первого знакомства с языком можно на платформе Stepik. Хотя на платформе есть и платные курсы, здесь мы перечислим только бесплатные.
«Поколение Python»: курс для начинающих – предназначен для изучения языка с нуля. Ограничений по возрасту нет – уроки подойдут и подросткам, и взрослым. Особенность курса – отсутствие видео-уроков: материал изложен в компактных текстовых лекциях. Структура курса и манера подачи материала прекрасно продуманы – сложность нарастает постепенно, при этом в уроках есть все, что нужно для решения задач. Проверка решений проводится автоматически, для этого авторы пишут специальные тесты:
После того как решение засчитано, открывается доступ к форуму с решениями других курсантов – это одна из лучших особенностей Stepik:
Заданий в курсе «Поколение Python» очень много, они варьируются по степени сложности, среди них есть очень интересные и оригинальные задачки. Дедлайнов на курсе нет, после окончания каждого раздела следует экзамен продолжительностью 240 минут – сдать его можно только один раз.
«Поколение Python»: курс для продвинутых – логическое продолжение курса для начинающих. Здесь есть достаточно сложные задачи по вложенным спискам, словарям, множествам и функциям. Прохождение курсов «Поколение Python» сформирует отличный фундамент– после них будет проще приступить к практическим проектам.
Среди других учебных программ стоит отметить курсы Института биоинформатики – Программирование на Python предназначен для новичков, а Python: основы и применение – для чуть более продвинутых студентов. Если задания на этих курсах показались сложными, можно попробовать Добрый, добрый Python или Инди-курс программирования на Python.
YouTube-каналы о программировании на Python
На Ютубе очень много полезных материалов для начинающих питонистов. Вот несколько популярных каналов на русском:
- Лекции Тимофея Хирьянова – здесь есть подробный разбор самых сложных заданий.
- Уроки Олега Молчанова – есть материалы и для новичков, и для продвинутых питонистов.
- Канал Артема Егорова – уроки и курсы для начинающих.
А эти каналы на английском – отличная возможность выучить сразу и Python, и англоязычную ИТ-лексику:
- Эл Свейгарт – уроки и проекты из книг. Эл Свейгарт – один из самых известных популяризаторов Python. Некоторые его книги издавались на русском – подробнее поговорим о них ниже.
- Кори Шэфер – еще один популярный преподаватель Python. На его канале очень много курсов, отдельных уроков и проектов, полезных инструкций.
- Real Python – канал основателя одноименного сайта о Python.
- Sentdex – очень популярный канал с огромным количеством уроков и проектов для питонистов с разным бэкграундом – от машинного обучения до финансов.
Книги и самоучители Python для начинающих
Как правило, новичкам рекомендуют начать изучение языка с монументального двухтомника Марка Лутца «Изучаем Python». Это, действительно, солидный учебник, в котором есть немало интересных сведений как для новичков, так и для более продвинутых разработчиков, уже имеющих опыт программирования на других языках. Однако для быстрого и эффективного старта лучше подойдут перечисленные ниже книги.
Эл Свейгарт, «Автоматизация рутинных задач с помощью Python»
Эл Свейгарт – автор множества интересных и по-настоящему полезных книг о Питоне, и это одна из лучших его работ. Книга написана просто и увлекательно, содержит огромное количество примеров, и позволит быстро разобраться со всеми основными возможностями Python. На сайте Свейгарта можно бесплатно почитать все остальные его книги. Особенно рекомендуем «The Big Book of Small Python Projects», «Beyond the Basic Stuff with Python» и «Making Games With Python & Pygame». Первая отлично подойдет для начинающих питонистов, вторая – для продвинутых, а третья познакомит и тех, и других с тонкостями разработки версий известных игр – от Тетриса до Змейки.
Эрик Фримен, «Учимся программировать с примерами на Python»
Эта книга, как и другие издания серии Head First, использует креативный подход для подачи материала. Здесь много забавных и остроумных иллюстраций и мемов, а благодаря интересным заданиям все сведения о Питоне легко запоминаются. Если вы уже пробовали изучать Python по другим книгам, и они показались вам нудными и неэффективными – возьмите эту, она действительно нестандартная.
Эрик Мэтиз, «Изучаем Python»
Книга дает представление об основных возможностях языка и подойдет для новичков: она начинается с написания самых простых фрагментов кода и заканчивается работой с API, визуализацией данных и созданием веб-приложения на фреймворке Django.
Зед Шоу, «Легкий способ выучить Python 3»
Любопытно, что оригинальное название книги прямо противоположно русскоязычному – «Learn Python 3 The Hard Way». Шоу – автор собственной методики изучения программирования. Эта книга подойдет для абсолютных новичков в Python.
Тони Гэддис, «Начинаем программировать на Python»
Этот самоучитель отличается простой и увлекательной подачей материала, прекрасно подходит для изучающих Python с нуля. Здесь есть информация о теории программирования в целом, приведено много практических бизнес-задач. По приведенной в книге ссылке можно скачать дополнительные материалы: исходный код всех заданий и базы данных.
Стоит заметить, что отличный список книг по Python есть на официальном сайте. Книги рассортированы по уровням – для начинающих и для продвинутых, и по национальным языкам. Здесь, например, собраны книги на русском.
К сожалению, даже самые лучшие книги быстро устаревают, поэтому главным справочником питониста всегда должна быть официальная документация: в ней есть не только исчерпывающие сведения обо всех аспектах Python, но и множество примеров кода.
Задачи на Python
Лучший способ тренировки навыков программирования для новичков – решение задач. Python предоставляет удобные и практичные методы для работы со списками, строками, словарями, множествами и кортежами. Благодаря этим методам многие сложные задачи можно решить на Питоне проще и лаконичнее, чем на других языках программирования. Правда, стоит заметить, что для решения олимпиадных задач, которые предусматривают жесткие ограничения на время выполнения кода и/или на объем используемой памяти, обычный Python не подходит – нужно использовать альтернативный интерпретатор PyPy. Большинство онлайн-тренажеров и систем автоматической проверки решений, перечисленных ниже, поддерживают PyPy.
Школа программиста – на сайте собрано множество задач, среди них есть очень сложные задания, которые пригодятся для подготовки к олимпиаде или алгоритмической секции собеседования. Минус сайта – отсутствие форума с решениями других участников (как на Степике).
Python Challenge – сайт на английском, отлично подойдет любителям головоломок. Вот первое задание для разогрева:
Используя подсказку, несложно догадаться, что 2 нужно возвести в степень 38, а затем вставить полученное число вместо 0 в URL страницы.
Питонтьютор – интерактивный учебник программирования: запускать код можно прямо на странице.
Есть пошаговая визуализация выполнения программ и эталонные решения задач. Этот сайт особенно хорошо подходит для изучения Питона с нуля.
Codeforces – проект, похожий на «Школу программиста»: здесь много сложных и интересных задач для подготовки к собеседованиям и соревнованиям по спортивному программированию.
HackerRank – популярный англоязычный сайт с задачами и профессиональными тестами разной степени сложности. Здесь можно обратить на себя внимание потенциальных работодателей.
Codewars – еще одна англоязычная площадка для решения задач, во многом похожая на HackerRank. Для некоторых задач есть ограничения по допустимому объему кода – например, решение задачи про белку на Питоне не должно быть длиннее 52 символов.
LeetCode – одна из самых известных англоязычных площадок для тренировки навыков программирования и подготовки к техническому собеседованию. Отличительная особенность – здесь есть подробные разборы и оценки разных подходов к решению задач.
CheckiO – сайт с симпатичным игровым интерфейсом. Степень сложности задач можно выбрать в настройках профиля. Если в процессе решения возникают сложности – можно воспользоваться подсказками.
Адаптивный тренажер Python – коллекция задач разной степени сложности, от простых до олимпиадных. Тренажер подстраивается под уровень пользователя.
Контесты по программированию – проект от создателей курсов «Поколение Python». Соревнования проходят в определенные дни, но после завершения контеста решать и проверять задачи можно в любое время, без ограничений.
Exercism – отличный англоязычный сайт для решения задач на Python. Полный курс состоит из 131 задания, причем все задачи разделены на 14 категорий в соответствии с основными концепциями языка – строки, списки, словари, множества, классы, циклы, условия и так далее. Особенность сайта – открытый доступ к решениям других пользователей.
Практикум по программированию – очень большой сборник всевозможных задач. Уже доступно 6 модулей (примерно 400 заданий); разделы с самыми сложными задачами (по структурам данных, алгоритмам на графах, играм и стратегиям) будут открыты в скором времени.
Подведем итоги
В этой части мы рассмотрели полезные ресурсы для изучения Python с нуля – книги, курсы, YouTube-каналы и онлайн-тренажеры для решения задач. В следующей части поговорим о переменных, типах данных и напишем первые простые программы.
📖 Содержание самоучителя
- Особенности, сферы применения, установка, онлайн IDE
- Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
- Типы данных: преобразование и базовые операции
- Методы работы со строками
- Методы работы со списками и списковыми включениями
- Методы работы со словарями и генераторами словарей
- Методы работы с кортежами
- Методы работы со множествами
- Особенности цикла for
- Условный цикл while
- Функции с позиционными и именованными аргументами
- Анонимные функции
- Рекурсивные функции
- Функции высшего порядка, замыкания и декораторы
- Методы работы с файлами и файловой системой
- Регулярные выражения
- Основы скрапинга и парсинга
- Основы ООП: инкапсуляция и наследование
- Основы ООП – абстракция и полиморфизм
- Графический интерфейс на Tkinter
- Основы разработки игр на Pygame
- Основы работы с SQLite
- Основы веб-разработки на Flask
- Основы работы с NumPy
- Основы анализа данных с Pandas
Комментарии