पाठ का अंश

Условия, циклы и match/case в Python: управляем ходом программы

if/elif/else, while, for и range, break/continue, сопоставление с образцом match/case. Для опытных: где match реально удобнее цепочки if и что добавил 3.15 (унарный плюс в литеральных шаблонах).

условие цикл match/case шаблон
इस पाठ में आप क्या सीखेंगे
  • Писать ветвления и циклы
  • Разбирать структуры данных через match/case
  • Выбирать между if и match

पाठ की शुरुआत

Восемь вложенных if — и никто не понимает, что происходит

  • Типичный разбор команд: if cmd == ... elif ... elif ...
  • С 3.10 есть match/case — разбор по форме данных
  • В 3.15: унарный плюс в литеральных шаблонах

Откройте любой старый скрипт, который принимает команды от пользователя, и вы почти наверняка увидите лесенку: если команда такая — делаем это, иначе если такая — делаем то, и так восемь раз, с разбиением строки, проверкой длины и индексами. Через полгода в этой лесенке не разберётся даже автор. Сегодня мы пройдём весь путь: от простого условия до конструкции match, которая превращает такую лесенку в аккуратную таблицу случаев.

if, elif, else: трекер проверяет лимит

  • Двоеточие в конце строки условия обязательно
  • Тело блока — отступ 4 пробела
  • Сравнения: == != < > <= >=

Начнём с самого простого решения: превысили мы дневной лимит или нет. Слово if проверяет условие, и если оно истинно, выполняется блок под ним. Elif — это «а иначе, если», else — «во всех остальных случаях». Обратите внимание на отступы: в Python именно они показывают, какие строки входят в блок. Никаких фигурных скобок, как в других языках, — сдвинули строку на четыре пробела, и она внутри условия.

limit = 1000
amount = 1250

if amount > limit:
    print("Превышен лимит на", amount - limit)
elif amount == limit:
    print("Ровно лимит")
else:
    print("В пределах лимита")

Истина и ложь в Python: что считается «пустым»

  • Ложны: 0, 0.0, "", [], {}, None, False
  • Всё остальное — истинно
  • bool("0") → True: непустая строка

В условие можно подставить не только сравнение, но и любое значение. Python сам решит, считать его истиной или ложью. Правило запоминается легко: всё пустое и нулевое — ложь. Ноль, пустая строка, пустой список, специальное значение None. Всё остальное — истина. Поэтому вместо громоздкой проверки длины списка опытные пишут просто «если список». Одна оговорка: строка с символом ноль — непустая, значит, истинная.

>>> bool(0), bool(""), bool([])
(False, False, False)
>>> bool("0")        # непустая строка!
True
>>> expenses = []
>>> if not expenses:
...     print("Трат пока нет")
Трат пока нет

पूरा पाठ सदस्यता के साथ उपलब्ध है

पूर्ण संस्करण में 11 और स्लाइड्स हैं।

वीडियो, सभी स्लाइड्स, नोट्स, टेस्ट, AI ट्यूटर और इंटरव्यू लॉगिन करने और सदस्यता लेने के बाद खुलेंगे।

लॉग इन या रजिस्टर करें सदस्यता लें

पाठ की सामग्री सूची

  1. Восемь вложенных if — и никто не понимает, что происходит
  2. if, elif, else: трекер проверяет лимит
  3. Истина и ложь в Python: что считается «пустым»
  4. Логика: and, or, not без сюрпризов
  5. Цикл for: пройтись по всем тратам
  6. while: повторять, пока условие верно
  7. Грабли: else у цикла — это не «если цикл не выполнился»
  8. match/case: разбираем команду по форме
  9. match по словарю и условие-охранник
  10. Миф: match — это просто switch из C
  11. ❓ Стоп-проверка: что вернёт parse("add Кофе")?
  12. 💡 Разбор: шаблон-список требует точной длины
  13. Что нового: шаблоны match с 3.10 по 3.15
  14. Итог: трекер решает и повторяет

इस व्याख्यान से जुड़े लेख

इस कोर्स के सभी पाठ

  1. Python 3.15 с нуля и для опытных: что нового и как учить
  2. Python 3.15: установка, REPL и первый скрипт за десять минут
  3. Переменные, числа и строки в Python: f-строки и t-строки
  4. Условия, циклы и match/case в Python: управляем ходом программы
  5. Списки, кортежи, словари и множества: frozendict в Python 3.15
  6. Comprehensions в Python: распаковка * и ** внутри (PEP 798)
  7. Функции и аннотации типов в Python: от def до sentinel
  8. Ошибки и исключения в Python 3.15: читаем трейсбек и подсказки «Did you mean»
  9. Модули, пакеты и ленивые импорты в Python 3.15 (PEP 810)
  10. Файлы, JSON и CSV в Python: pathlib и UTF-8 по умолчанию
  11. Классы и dataclasses в Python: ООП без лишнего кода
  12. Асинхронность и потоки в Python: asyncio, TaskGroup и free-threading
  13. Профилирование Python 3.15: Tachyon вместо cProfile и итоговый проект