Базовые типы (int, float, str, bool), присваивание, f-строки, type hints — первое, что проверяют на собеседовании по Python. Спрашивают про мутабельность, разницу между is и ==, приведение типов. Без уверенного знания основ синтаксиса невозможно перейти к более сложным темам.
Оператор `==` сравнивает значения (содержимое), поэтому для строк обычно пишут `a == b`. Оператор `is` проверяет, является ли это один и тот же объект, и не предназначен для сравнения текстов. Присваивание `a = b` вообще не является сравнением.
Метод `.split(",")` разделяет строку по запятой и возвращает список подстрок. Разделитель в результат не входит, поэтому `"a,b,c".split(",")` даст список из трёх строк: `"a"`, `"b"` и `"c"`.
Оператор `is` (и форма `is not`) проверяет идентичность объектов. Если нужно явно проверить, что `x` не является `None`, пишут `x is not None`. Вариант `x not None` — синтаксически неверен.
В булевом контексте (в `if`, `while` или при вызове `bool()`) контейнеры оцениваются по пустоте. Пустой список `[]` — это `False`, а непустой список `[0]` — это `True`, даже если внутри есть «ложное» значение `0`.
Хотя `5` и `"5"` выглядят похоже, это разные типы: `int` и `str`. В Python `==` не выполняет неявное преобразование типов, поэтому `5 == "5"` даёт `False`. Если нужно сравнить, приведите типы явно: `5 == int("5")`.
В приложении — таймер, прогресс, стрики и 1700+ вопросов по всем темам.
Тренировать в Telegram