Py
💻 Для разработчиков

Python с нуля

8 тем, 80 уроков: переменные, операторы, строки, числа, условия, циклы, списки, словари и мини-проекты

Что ты создашь
📘Прочный фундамент
⚡Практика в браузере
🎯Мини-проекты
🎓Сертификат курса
📘 80 уроков⏱ 1-2 вечера🎓 Средний
🎯 Цель
Освоить Python с нуля
⚡+850XP
🏆СертификатPDF
🎓Курс пройден
Прогресс0 / 80 · 0%
Следующий шаг: Что такое переменная

Программа курса

01

Переменные и типы

0 / 8 уроков
⌄
  1. 01

    Что такое переменная

    Имя•Значение•Присваивание =⚡ +10
    ▶ Сейчас
  2. 02

    Имена переменных

    snake_case•Запрещённые имена•Регистр⚡ +10
    Открыт
  3. 03

    Целые числа (int)

    int•Арифметика•Подчёркивания в числах⚡ +10
    Открыт
  4. 04

    Дробные (float)

    float•Деление /•Округление round()⚡ +10
    🔒 Pro
  5. 05

    Логический тип (bool) и сравнения

    True / False•==, !=, <, >, <=, >=•and / or / not⚡ +10
    🔒 Pro
  6. 06

    Функция type()

    type()•<class '...'>•Когда полезна⚡ +10
    🔒 Pro
  7. 07

    Преобразование типов

    int(x), str(x), float(x)•input даёт строку•ValueError⚡ +10
    🔒 Pro
  8. 08

    Множественное присваивание

    a, b = 1, 2•Обмен a, b = b, a•Распаковка⚡ +10
    🔒 Pro
02

Операторы и значения

0 / 5 уроков
⌄
  1. 09

    Операторы +=, -=, *= и другие

    +=, -=•*=, /=•Счётчики и накопление⚡ +10
    🔒 Pro
  2. 10

    None и его смысл

    None — «ничего»•is None vs == None•Когда возвращается None⚡ +10
    🔒 Pro
  3. 11

    Константы и стиль PEP 8

    UPPER_CASE•Соглашение, не запрет•Зачем⚡ +10
    🔒 Pro
  4. 12

    f-строки — форматирование

    f"...{x}..."•Выражения внутри {}•Лучше, чем + или %⚡ +10
    🔒 Pro
  5. 13

    Мини-проект: профиль

    Несколько типов•f-строка•Накопление⚡ +10
    🔒 Pro
03

Строки

0 / 11 уроков
⌄
  1. 14

    Что такое строка

    Кавычки '' и ""•Пустая строка•Строка vs число⚡ +10
    🔒 Pro
  2. 15

    Конкатенация и повторение

    + склеивает строки•* повторяет•Что НЕ работает⚡ +10
    🔒 Pro
  3. 16

    Длина строки len()

    len()•Пустая = 0•Сравнение длины⚡ +10
    🔒 Pro
  4. 17

    Регистр: upper / lower / capitalize

    .upper()•.lower()•.capitalize() / .title()⚡ +10
    🔒 Pro
  5. 18

    Чистка: strip / replace

    .strip()•.replace(a, b)•Цепочка вызовов⚡ +10
    🔒 Pro
  6. 19

    Индексация и срезы

    s[0]•s[-1]•s[1:5], s[::-1]⚡ +10
    🔒 Pro
  7. 20

    Поиск: find / in / count / startswith

    .find(sub)•in оператор•.count(), .startswith()⚡ +10
    🔒 Pro
  8. 21

    split / join

    .split(sep) → список•sep.join(список) → строка•Парные операции⚡ +10
    🔒 Pro
  9. 22

    Экранирование: \n, \t, \"

    \n — перенос•\t — табуляция•\\ и \"⚡ +10
    🔒 Pro
  10. 23

    Многострочные строки

    """..."""•Сохранение переносов•Docstring⚡ +10
    🔒 Pro
  11. 24

    Мини-проект: визитка

    f-строка•Методы строк•Многострочный вывод⚡ +10
    🔒 Pro
04

Числа и математика

0 / 10 уроков
⌄
  1. 25

    Целочисленное деление //

    // — целая часть•Деление пополам•Сравнение / и //⚡ +10
    🔒 Pro
  2. 26

    Остаток от деления %

    % — остаток•Чётные/нечётные•Цикличность⚡ +10
    🔒 Pro
  3. 27

    Возведение в степень и корень

    **•math.sqrt•Дробные степени⚡ +10
    🔒 Pro
  4. 28

    abs, min, max

    abs(x)•min(a, b, ...)•max(a, b, ...)⚡ +10
    🔒 Pro
  5. 29

    round() и точность float

    round(x, n)•Банковское округление•0.1 + 0.2⚡ +10
    🔒 Pro
  6. 30

    Модуль math

    math.pi, math.e•math.floor / math.ceil•math.factorial, math.gcd⚡ +10
    🔒 Pro
  7. 31

    Случайные числа random

    random.randint•random.random•random.choice⚡ +10
    🔒 Pro
  8. 32

    Форматирование чисел в f-строках

    {x:.2f}•{x:,}•{x:>10}⚡ +10
    🔒 Pro
  9. 33

    Преобразования int ↔ float

    int(3.7)•float(5)•Потеря данных⚡ +10
    🔒 Pro
  10. 34

    Мини-проект: расчёт чека

    %, /, **•round, abs•f-строка с :,.2f⚡ +10
    🔒 Pro
05

Условия

0 / 10 уроков
⌄
  1. 35

    if и else — первое решение

    if cond:•else:•Двоеточие и отступ⚡ +10
    🔒 Pro
  2. 36

    elif — несколько вариантов

    elif•Цепочка if/elif/else•Порядок важен⚡ +10
    🔒 Pro
  3. 37

    Отступы и блоки

    4 пробела•Один уровень — один блок•IndentationError⚡ +10
    🔒 Pro
  4. 38

    Truthy / Falsy — что считается True

    Falsy: 0, '', None, []•Всё остальное — True•if x: vs if x is None:⚡ +10
    🔒 Pro
  5. 39

    and / or / not в условиях

    and — оба•or — хотя бы одно•Короткое замыкание⚡ +10
    🔒 Pro
  6. 40

    Тернарный оператор

    a if cond else b•Inline if•Когда уместен⚡ +10
    🔒 Pro
  7. 41

    match / case (Python 3.10+)

    Сравнение одной переменной•Запасной вариант — символ _•Несколько вариантов через |⚡ +10
    🔒 Pro
  8. 42

    Вложенные условия

    if внутри if•Глубина читаемости•Объединение and⚡ +10
    🔒 Pro
  9. 43

    Частые ошибки в условиях

    = vs ==•is vs ==•Сравнение float⚡ +10
    🔒 Pro
  10. 44

    Мини-проект: оценка балла

    if/elif/else•Тернарник•f-строка⚡ +10
    🔒 Pro
06

Циклы

0 / 12 уроков
⌄
  1. 45

    Цикл for и range — повторяем действие

    for x in range(N)•Тело цикла с отступом•Что такое итерация⚡ +10
    🔒 Pro
  2. 46

    range с началом, концом и шагом

    range(start, stop)•range(start, stop, step)•Шаг назад step=-1⚡ +10
    🔒 Pro
  3. 47

    Цикл по строке — буква за буквой

    for c in строка•Каждая итерация = один символ•Когда нужен индекс — range(len)⚡ +10
    🔒 Pro
  4. 48

    Цикл while — пока условие верно

    while условие:•Меняй переменную внутри•Бесконечный цикл — что это⚡ +10
    🔒 Pro
  5. 49

    break — выйти из цикла досрочно

    break прерывает цикл•Полезно с поиском•Только один уровень⚡ +10
    🔒 Pro
  6. 50

    continue — пропустить эту итерацию

    continue пропускает остаток•Идём к следующей итерации•Антипод break⚡ +10
    🔒 Pro
  7. 51

    enumerate — индекс плюс значение

    enumerate(данные)•Распаковка в две переменные•Индекс с нуля⚡ +10
    🔒 Pro
  8. 52

    zip — идти по двум данным параллельно

    zip(a, b)•Останавливается на короткой•Распаковка пар⚡ +10
    🔒 Pro
  9. 53

    Накопитель — суммируем и считаем в цикле

    Переменная-накопитель•total = total + x•Среднее = сумма / количество⚡ +10
    🔒 Pro
  10. 54

    Вложенные циклы — цикл внутри цикла

    for внутри for•Внутренний крутится полностью•Двойной отступ — 8 пробелов⚡ +10
    🔒 Pro
  11. 55

    Частые ошибки в циклах

    Off-by-one с range•Бесконечный while•Накопитель не сброшен⚡ +10
    🔒 Pro
  12. 56

    Мини-проект: FizzBuzz

    for + if/elif/else•Делимость через %•Порядок проверок⚡ +10
    🔒 Pro
07

Списки

0 / 12 уроков
⌄
  1. 57

    Что такое список и как его создать

    Список — упорядоченный набор•Литерал [a, b, c]•Длина через len()⚡ +10
    🔒 Pro
  2. 58

    Индексы — обращаемся к элементу по номеру

    Индексы с 0•Отрицательные с -1•IndexError если выйти за край⚡ +10
    🔒 Pro
  3. 59

    Срезы — берём кусок списка

    [start:stop]•stop НЕ входит•Пропуск start или stop⚡ +10
    🔒 Pro
  4. 60

    append, extend, insert — добавляем элементы

    append — в конец•extend — несколько в конец•insert — в любую позицию⚡ +10
    🔒 Pro
  5. 61

    remove, pop, del — удаляем элементы

    remove(x) — по значению•pop(i) — по индексу + возвращает•del list[i] — по индексу⚡ +10
    🔒 Pro
  6. 62

    Оператор in — проверяем наличие

    x in list — True/False•not in — обратная проверка•Работает и со строками⚡ +10
    🔒 Pro
  7. 63

    Цикл по списку — обходим элементы

    for x in list•Не нужен индекс по умолчанию•Только чтение в простом цикле⚡ +10
    🔒 Pro
  8. 64

    sort, sorted, reverse — сортируем

    list.sort() меняет на месте•sorted() возвращает новый•reverse=True для убывания⚡ +10
    🔒 Pro
  9. 65

    Списковое включение — список в одну строку

    [выражение for x in данные]•С условием if•Замена цикла + append⚡ +10
    🔒 Pro
  10. 66

    split и join — между строкой и списком

    str.split(sep) → list•sep.join(list) → str•По умолчанию split по пробелам⚡ +10
    🔒 Pro
  11. 67

    Вложенные списки — таблицы из строк и столбцов

    Список списков•Доступ table[row][col]•Цикл по строкам⚡ +10
    🔒 Pro
  12. 68

    Мини-проект: статистика чисел

    Сумма + среднее•min / max•Поиск в списке⚡ +10
    🔒 Pro
08

Словари

0 / 12 уроков
⌄
  1. 69

    Что такое словарь и зачем он нужен

    Пары ключ → значение•Литерал {ключ: значение}•Когда вместо списка⚡ +10
    🔒 Pro
  2. 70

    Получаем значение по ключу

    d[ключ] — обязательно•d.get(ключ) — мягко•KeyError если нет ключа⚡ +10
    🔒 Pro
  3. 71

    Добавляем и обновляем пары

    d[новый_ключ] = ...•Перезапись если ключ есть•Один синтаксис для add+update⚡ +10
    🔒 Pro
  4. 72

    Удаляем пары — del и pop

    del d[ключ]•d.pop(ключ) возвращает значение•KeyError если ключа нет⚡ +10
    🔒 Pro
  5. 73

    Проверяем ключ через in

    ключ in d → True/False•По умолчанию проверяет КЛЮЧИ•Перед d[ключ] чтобы избежать ошибки⚡ +10
    🔒 Pro
  6. 74

    keys, values, items — три способа смотреть

    d.keys() — ключи•d.values() — значения•d.items() — пары⚡ +10
    🔒 Pro
  7. 75

    Цикл по словарю

    for k in d — только ключи•for v in d.values()•for k, v in d.items() — пара⚡ +10
    🔒 Pro
  8. 76

    Вложенные словари — словарь внутри словаря

    Значение = другой словарь•Доступ d[a][b]•Профили / структуры⚡ +10
    🔒 Pro
  9. 77

    Словарное включение — словарь в одну строку

    {k: v for ... in ...}•Из списка в словарь•С условием if⚡ +10
    🔒 Pro
  10. 78

    Шаблон счётчика — считаем повторения

    d[k] = d.get(k, 0) + 1•Накопитель + словарь•Самый частый шаблон⚡ +10
    🔒 Pro
  11. 79

    setdefault — мягкое создание ключа

    d.setdefault(k, default)•Создаёт если нет•Полезно для группировок⚡ +10
    🔒 Pro
  12. 80

    Мини-проект: частота слов в тексте

    split → список слов•Словарь-счётчик через .get•Подсчёт уникальных
    Курс пройден
    🔒 Pro