Базовые типы (int, float, str, bool), присваивание, f-строки, type hints — первое, что проверяют на собеседовании по Python. Спрашивают про мутабельность, разницу между is и ==, приведение типов. Без уверенного знания основ синтаксиса невозможно перейти к более сложным темам.
Функция `int()` игнорирует ведущие и завершающие пробелы в строке, поэтому `int(" 42 ")` успешно вернёт целое число 42 типа `int`. Исключение `ValueError` возникает только если внутри строки есть нечисловые символы или дробная часть, например `int("42.0")` или `int("4 2")`. Тип результата — всегда `int`, а не `float` и не строка.
Подробный разбор →Функция `any()` возвращает `True`, если хотя бы один элемент истинный: в списке `[0, 1, 2]` истинны `1` и `2`, поэтому `any(data)` равно `True`. Функция `all()` требует, чтобы истинными были все элементы, но `0` ложен, поэтому `all(data)` равно `False`. Полезно помнить два пограничных случая: `any([])` возвращает `False`, а `all([])` — `True`. Эти соглашения иногда приводят к неожиданному поведению на пустых выборках.
Подробный разбор →Моржовый оператор `:=` (появился в Python 3.8) позволяет присвоить значение переменной прямо внутри выражения. В данном примере `n` получает значение `10`, затем это значение сравнивается с `5`. Условие `10 > 5` истинно, поэтому выполнится `print(n)`, который выведет `10`. Обычное `=` внутри `if` вызвало бы `SyntaxError`.
Подробный разбор →В Python 3 `round()` при равноудалённом значении (`.5`) округляет к ближайшему чётному числу. Поэтому `round(2.5)` даёт `2` (чётное), а `round(3.5)` даёт `4` (тоже чётное). Это банковское округление — оно уменьшает систематическую ошибку при многократном округлении. Школьное правило «всегда вверх» в Python 3 не используется, и тип результата при вызове `round(x)` без второго аргумента — `int`, а не `float`.
Подробный разбор →Функция `int()` умеет преобразовывать строки вида `"42"`, но `"3.14"` не является корректной записью целого числа. Поэтому вызов `int("3.14")` поднимает `ValueError`. Если нужно усечь дробную часть, сначала переводят в `float`, а потом в `int`: `int(float("3.14"))` вернёт `3`, потому что `int()` от числа отбрасывает дробную часть.
Подробный разбор →В приложении — таймер, прогресс, стрики и 1700+ вопросов по всем темам.
Тренировать Python в Telegram