Python с нуля
Для тех, кто начинает с нуля: сначала понимание, потом код, в конце — проект, который можно показать.
Программа
- 01
Основы синтаксиса
Первый рабочий код: как запускать Python, хранить данные в переменных, считать, собирать строки, спрашивать пользователя и повторять действия.
- 1.1 · Python, интерпретатор и первая программа
- 1.2 · Переменные и типы данных
- 1.3 · Числа и арифметика
- 1.4 · Строки
- 1.5 · Ввод и условия
- 1.6 · Циклы
- 02
Коллекции
Списки, кортежи, словари и множества: где хранить данные и почему выбор структуры важнее скорости кода.
- 2.1 · Списки
- 2.2 · Срезы
- 2.3 · Кортежи и распаковка
- 2.4 · Словари
- 2.5 · Множества
- 2.6 · Генераторы коллекций
- 03
Функции
Как перестать копировать куски кода: свои функции, аргументы, области видимости и разбиение программы на файлы.
- 3.1 · Своя первая функция
- 3.2 · Аргументы: позиционные, именованные, лишние
- 3.3 · Область видимости и возврат значений
- 3.4 · Функции как значения, lambda и sorted(key=...)
- 3.5 · Модули и импорты
- 04
Файлы и данные
Как программа сохраняет состояние на диск и читает его обратно: текст, csv, json, даты.
- 4.1 · Файлы: чтение и запись
- 4.2 · Кодировки и пути
- 4.3 · CSV: таблицы в текстовом файле
- 4.4 · JSON: структуры, которые переживают диск
- 4.5 · Дата и время
- 05
ООП
Класс как способ держать данные и поведение в одном месте — и не утонуть в словарях.
- 5.1 · Зачем нужен класс
- 5.2 · Атрибуты, методы и свойства
- 5.3 · Магические методы
- 5.4 · Наследование и полиморфизм
- 5.5 · Датаклассы
- 06
Ошибки и отладка
Читать traceback, ловить только то, что понимаете, чинить баги методично и закреплять починку тестом.
- 6.1 · Как читать traceback
- 6.2 · try / except: ловим то, что понимаем
- 6.3 · raise и свои исключения
- 6.4 · Отладка: от догадок к методу
- 6.5 · Тесты: чтобы починенное не сломалось снова
- 07
Сеть и API
Забирать данные из интернета программой: запросы, JSON, ключи, парсинг HTML и жизнь с ненадёжной сетью.
- 7.1 · Как устроен запрос к сайту
- 7.2 · requests: первый запрос из кода
- 7.3 · Разбираем JSON-ответ настоящего API
- 7.4 · Ключи, заголовки и лимиты
- 7.5 · Когда API нет: разбор HTML
- 7.6 · Сеть ненадёжна: повторы и кэш
- 08
Инструменты
Терминал, venv, pip, git, argparse и структура проекта — то, без чего код остаётся файлом на рабочем столе.
- 8.1 · Терминал
- 8.2 · Виртуальное окружение
- 8.3 · pip и requirements
- 8.4 · Git: основы
- 8.5 · Аргументы командной строки
- 8.6 · Структура проекта
Проект в конце
Консольное приложение на Python: отмечает выполнение привычек, считает серии и хранит историю в JSON