Вопросы по теме «Синтаксис и типы данных»

Проверь себя · 1/3разбор после ответа
Что произойдёт при выполнении выражения "Возраст: " + 18 в Python?

Базовые типы (int, float, str, bool), присваивание, f-строки, type hints — первое, что проверяют на собеседовании по Python. Спрашивают про мутабельность, разницу между is и ==, приведение типов. Без уверенного знания основ синтаксиса невозможно перейти к более сложным темам.

Всего в этом разделе 40 вопросов. Каждый — с правильным ответом и кратким разбором теории. Разбито на 8 частей по 5 вопросов.

Коллекции и структуры данныхГенераторы списков и встроенные функцииЦиклы и условияИсключения и отладкаРабота с файлами: JSON и CSVФункции и аргументыИтераторы и генераторыNumPy: основыPandas и DataFrame

Вопросы 15 из 40

1Что вернёт выражение `"b" in ["a", "b", "c"]`?
AЗначение `False` от оператора `in` при отсутствии искомого элемента в списке
B`TypeError`: оператор `in` отказывается работать со списком строковых элементов
CЗначение `True` от оператора `in` при наличии искомого элемента в списке
DЗначение `None` от оператора `in` для случая поиска по списку элементов
Ответ: Оператор `in` проверяет, есть ли элемент в последовательности, и возвращает `True` или `False`.

Для списка оператор `in` проверяет наличие элемента: он последовательно сравнивает элементы списка с искомым значением через `==`. Так как `"b"` есть в списке `["a", "b", "c"]`, результат — `True`. `False` был бы при отсутствии элемента, `TypeError` — при несовместимом типе контейнера, а `None` оператор `in` никогда не возвращает.

Подробный разбор →
2Что вернёт выражение `"py" in "python"` при выполнении в Python?
AБулево значение `False`
BИсключение `TypeError`
CБулево значение `True`
DЗначение `None`
Ответ: Для строк оператор `in` проверяет наличие подстроки и возвращает `True` или `False`.

Оператор `in` для строк проверяет, встречается ли левая строка как подстрока правой. `"py"` действительно есть в `"python"`, поэтому выражение возвращает `True`. Проверка чувствительна к регистру: `"PY" in "python"` уже вернёт `False`. `TypeError` здесь не возникает, и оператор всегда возвращает булево значение, а не `None`.

Подробный разбор →
3Вы пишете расчёт средней цены и хотите гарантированно получить значение с плавающей точкой, поэтому оборачиваете число в `float(2)`. Какой тип будет у результата такого вызова?
AЦелый тип `int`: тип результата наследуется от типа аргумента, переданного в функцию
BВещественный тип `float`: функция возвращает число с плавающей точкой при любом аргументе
CСтроковый тип `str`: встроенная функция оборачивает результат в текстовое представление
DЛогический тип `bool`: ненулевое число при таком вызове трактуется как истинное значение
Ответ: Конструктор `float()` всегда возвращает значение вещественного типа `float`.

Функция `float()` всегда возвращает значение типа `float`, то есть число с плавающей точкой. Например, `float(2)` даёт `2.0` типа `float`, что полезно для дальнейших вычислений с дробной частью и для предотвращения целочисленного деления. Тип результата не зависит от того, было ли исходное значение целым числом, строкой или логическим — конструктор всегда строит вещественное число.

Подробный разбор →
4Чему равно выражение `"PyThOn".lower()`?
A`"PyThOn"`
B`"python"`
C`"PYTHON"`
D`"Python"`
Ответ: `.lower()` переводит строку в нижний регистр.

Метод `.lower()` возвращает копию строки, где все буквы приведены к нижнему регистру. Это удобно для сравнений без учёта регистра: `s.lower() == "python"`.

Подробный разбор →
5Чему равно выражение `bool("")`?
AЗначение `True`: любые строки в булевом контексте дают одинаковый истинный результат
BЗначение `False`: пустая строка `""` в булевом контексте трактуется как ложная
CЗначение `None`: для пустой строки результат булевого приведения в Python не определён
DОшибка `TypeError`: функция `bool()` не принимает строки без специального метода
Ответ: Пустая строка в булевом контексте считается ложной.

В Python многие объекты можно использовать в условии `if x:`. Пустая строка `""` считается «ложной», поэтому `bool("")` вернёт `False`. Непустая строка, например `"a"`, будет считаться истинной. Аналогично для `0`, `[]` и `None`, которые трактуются как `False`.

Подробный разбор →
12345678

Хотите тренировать интерактивно?

В приложении — таймер, прогресс, стрики и 1700+ вопросов по всем темам.

Тренировать Python в Telegram

Другие темы: Python

Коллекции и структуры данныхГенераторы списков и встроенные функцииЦиклы и условияИсключения и отладкаРабота с файлами: JSON и CSVФункции и аргументыИтераторы и генераторыNumPy: основыPandas и DataFrame