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