Привет Хабрчанам! Меня зовут Дима Туркин, я — код-ревьюер на курсе «Python-разработчик» Яндекс Практикума и Python-тимлид. Тема материалов по Python для начинающих и продолжающих свой путь разработчиков уже заезженная, поэтому в этой статье я постарался собрать ссылки на менее известные бесплатные ресурсы, но не менее полезные. Есть чем дополнить — пишите в комментариях!

Учим и освежаем знания по Python

Повторение — мать учения, никогда не будет лишним что-то вспомнить. Начать бы я хотел с академических материалов на базе университетов:

1. МФТИ, цикл лекций курса «Практики программирования» 

Тимофей Хирьянов — преподаватель кафедры информатики в МФТИ, благодаря своим захватывающим лекциям позволяет слушателям легко воспринимать информацию. 

2. РТУ МИРЭА, репозиторий

GitHub-репозиторий, где собран курс лекций и практических заданий. Вы сможете начать с изучения основ языка и прийти к ООП и автоматизации тестирования.

true-grue/kispython → 

3. Freecodecamp, интерактивный учебник по Python 

Этот ресурс давно себя зарекомендовал. Основная цель компании — помочь людям научиться программировать бесплатно, учебник построен так, что у начинающего не возникнет проблем с изучением материала, обучение проходит от простого к сложному.

Freecodecamp →

4. Онлайн-учебник “Python for you and me”

Он охватывает темы для начинающих и продвинутых в концепциях Python, а также знакомит с руководством по написанию кода PEP8.

Python for you and me → 

5. Репозиторий 30-Days-Of-Python

Загляните в этот репозиторий — в текстовом виде представлены материалы по изучению Python шаг за шагом. Авторы разбили уроки на челлендж в 30 дней, но рекомендуют идти в своём темпе. 

30-Days-Of-Python → 

6. Курс по основам Python-разработки

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

Основы Python-разработки

7. Онлайн-тренажёр «Прогноз погоды на Python»

Получится написать программу, которая показывает прогноз погоды, за час. Потренируетесь писать простой код в тренажёре Практикума, а заодно решите алгоритмическую задачку.

Пишем прогноз погоды → 

8. Асинхронность в Python, плейлист

Для желающих познакомиться с асинхронностью советую заглянуть в этот плейлист. Автор канала подробно рассказывает об основах асинхронности в Python, событийных циклах, генераторах, async/await. 

9. Диджитализируй! Типизированный Python

Современный Python — это типизированный Python, поэтому рекомендую к изучению книгу по типизированному Python от Youtube-канала «Диджитализируй».

Книга «Типизированный Python» → 

10. Видеокурс от Яндекса «Школа бэкенд-разработки 2019»

Курс позволит научиться промышленной разработке на Python. 
Ссылки на все уроки и полезные материалы → 

11. Книга Python Testing with pytest

Хороший код — тот, что покрыт тестами. Советую к изучению отличный цикл статей о библиотеке pytest. Автор книги утверждает, что с помощью pytest тестировать программное обеспечение становится легко, естественно и даже интересно. И я с ним соглашусь.

Python Testing with pytest → 
PDF-версия →

12. Книга Test-Driven Web Development with Python («Экстремальное программирование. Разработка через тестирование»)

Книга проведет вас по процессу разработки реального веб-приложения от начала до конца, через методологию разработки на основе тестирования (TDD).

Электроннаая версия на английском →
Книга на русском →

Фреймворки

Сейчас в Python-разработке преобладают два фреймворка — Django и FastAPI. Рекомендовать читать официальную документацию и туториалы не буду (буду! документация Django и документация FastAPI), а посоветую плейлисты на Youtube. 

1. Укороченный видеокурс по Django от самого Spock

Отличный старт для погружения в веб-разработку. Автор канала профессионально занимался проектированием и реализацией ПО, имеет опыт в создании курсов по программированию. Главное в его материалах — выжимка самого необходимого, никакой воды.

2. Django school

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

3. Видео от Артёма Шумейко

Если ваш выбор пал на FastAPI, рекомендую плейлист от еще не набравшего большую популярность канала Артёма. Автор сделал акцент на разработку приложения с нуля и разбил уроки на логические блоки.

Подготовка к собеседованию

Ничто так не углубляет в знаниях языка и алгоритмах, как подготовка к собеседованию. Для большинства разработчиков, даже опытных, собеседования — это стресс. Ведь спросить могут такие вопросы, с которыми разработчик сталкивался от силы пару раз. Что-то может забываться, например терминология, которую в обычной работе не используешь, а просто знаешь, что это так. Поэтому полезно проходиться по популярным вопросам, чтобы освежить память, даже если собеседоваться в ближайшее время не собираешься.

  1. Большой список вопросов и ответов по Python с собеседований
    github.com/learning-zone/python-basics →

  2. Объяснение алгоритмов с примерами кода
    Статья на TProger →

  3. Отличная статья про структуры данных
    Основные структуры данных. Матчасть. Азы →

  4. Всеобъемлющая статья с вопросами с собеседования 
    Обширный обзор собеседований по Python. Советы и подсказки →

Комментарии (4)


  1. ssmaslov
    17.08.2023 17:48
    +2

    Всегда смотрю на подобные подборки с некоторым скепсисом. Но эта приятное исключение. Не могу сказать что видел все, но почти все, и мое мнение совпадает с авторским процентов на 80. Из того что мне категорически не понравилось это книжка про тестирование с pytest, мне кажется она только запутывает, проше просто по документации все посмотреть


  1. Mazrigosh
    17.08.2023 17:48
    +2

    Отличная подборка. Срочно в избранное!


  1. 9982th
    17.08.2023 17:48

    image
    Замечательный ресурс для новичка, ничего не скажешь.


    1. Turkindv Автор
      17.08.2023 17:48

      Вы видите какие то проблемы в этом коде? Или подходе к решению? Да, код можно написать немного лучше, но это «вопрос с собеседования» его цель не много другая

      Мне кажется это отличный способ познакомиться с рекурсией, если ранее с ней не приходилось сталкиваться