TGViewer
Cool and Fun Python Cool and Fun Python @python3k · 510 subscribers
Post #97 432
Изначально планировал давать поясняющий пост (ПП), если основной наберёт ≈10% взрывных мозгов 🤯 Получилось не 10%, а 5 ÷ 101 ≈ 4.95%. Но ПП готов, поэтому ловите и изучайте.

Давайте детально разберём код:

def func(num: str):
0). Определяем функцию func, которая принимает один аргумент num строкового типа.
Нам нужно число, а не строка, чтобы корректно сравнить num с MAX_INDEX

    if num.isdigit()
1). num.isdigit() проверяет, является ли строка num числом. Метод isdigit() возвращает True, если в строке есть только цифры. Т.е. там записано натуральное число или ноль.

Познавательная минутка 🤓
Натура‌льные чи‌сла (от лат. naturalis «естественный») - числа, возникающие естественным образом при счёте (1, 2, 3, 4, 5, 6, 7 и так далее).

    if num.isdigit() and ...
2). Если в num есть символы помимо цифр, isdigit возвращает False. В этом случае команда and не выполняет код справа. Нас автоматом перекидывает в блок else. Happy end

    ... (index := int(num))
3). Преобразуем строку num в целое число и присваиваем его переменной index. Ошибку ValueError при преобразовании мы исключили левой проверкой.
Конструкция в скобках называется оператором присваивания с объявлением переменной (walrus operator). Моржовый оператор или просто морж доступен с Python 3.8+

...(index := int(num)) < MAX_INDEX:
4). Благодаря круглым скобкам вокруг моржового присваивания, код "волшебным" образом превращается в обычное сравнение:
index < MAX_INDEX
сравниваем значение index с некоторой константой MAX_INDEX.


Общий смысл этого кода заключается в проверке строки num на то, что она является натуральным числом или нулём и что это число меньше чем константа MAX_INDEX 😉
  • 🔥 6
  • ✍ 1
  • 👍 1
More from @python3k
  1. Feb 25, 2026Магические числа Нравится волшебство? А вот и зря. Магические числа - антипаттерн в програ…
  2. Feb 9, 2026Про ОС Оказывается мысли о том, что у программиста должен быть MacBook, а код надо писать…
  3. Feb 1, 2026Кто-нибудь пользовался новой удалённой отладкой в Python 3.14? Поделитесь своим опытом в к…
  4. Jan 25, 2026Redis хорош, но... Ничего не имею против хранения данный в ОЗУ при помощи Redis. Быстрый д…
  5. Jan 20, 2026В продолжение идеи про словарь функций Начало тут def handle_negative(): print("Обработка…
  6. Jan 11, 2026Альтернатива if-elif-else / match-case из далёкого прошлого Этот приём я узнал лет пять на…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →