Синтаксис и типы данных: вопросы для собеседования (часть 3)

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

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

Вопросы 1115 из 40

11Какой результат вернёт вызов `type(10)`?
A`<class 'int'>`
B`<class 'float'>`
C`<class 'str'>`
D`<class 'bool'>`
Ответ: `type()` возвращает тип объекта, например `int` для целых чисел.

Число `10` в Python является целым числом типа `int`. Поэтому выражение `type(10)` вернёт тип этого объекта: `<class 'int'>`.

12Что будет в переменной `item` на каждой итерации цикла `for item in enumerate(['a', 'b', 'c'])`?
AПары вида `('a', 0)`, `('b', 1)`, `('c', 2)` — сначала элемент, потом номер
BПары вида `(0, 'a')`, `(1, 'b')`, `(2, 'c')` — сначала индекс, потом элемент
CТолько индексы элементов: `0`, `1`, `2` — без самих значений
DТолько сами элементы: `'a'`, `'b'`, `'c'` — без индексов
Ответ: `enumerate()` возвращает пары (индекс, элемент), начиная с нуля по умолчанию.

Функция `enumerate()` оборачивает итерируемый объект и на каждом шаге выдаёт кортеж из двух значений: порядковый номер и сам элемент. Порядок всегда (индекс, элемент), а не наоборот. Начальный индекс можно изменить параметром `start`: `enumerate(lst, start=1)`.

13Какой результат даст выражение `set([1, 2, 2, 3, 3])`?
AМножество `{1, 2, 3}` из трёх уникальных элементов
BМножество `{1, 2, 2, 3, 3}` без изменений, все пять элементов
CСписок `[1, 2, 3]`, потому что дубликаты убираются
DБудет исключение `ValueError` из-за повторов
Ответ: Функция `set()` создаёт множество, автоматически убирая все повторяющиеся элементы.

Множество (`set`) в Python хранит только уникальные значения. При создании через `set()` из списка все дубликаты отбрасываются. Результат — `{1, 2, 3}`. Множество не сохраняет порядок элементов. Вариант со списком неверен, потому что `set()` всегда возвращает тип `set`, а не `list`.

14Какие из значений `None`, `0`, `[]`, `'0'` будут ложными в условии `if`?
AЛожным будет только `None`, а значения `0`, `[]` и `'0'` считаются истинными
BЛожными будут `None`, `0` и пустой список `[]` — все три считаются `False`
CВсе четыре ложные: `None`, `0`, `[]` и `'0'` — потому что ноль в строке тоже ноль
DЛожными будут `0` и `[]`, а `None` и `'0'` оба считаются истинными значениями
Ответ: В Python ложными считаются `None`, числовой ноль, пустые коллекции и пустая строка.

Ложные значения в Python: `None`, `False`, `0`, `0.0`, пустая строка `''`, пустые коллекции (`[]`, `{}`, `set()`). Строка `'0'` непустая (содержит один символ), поэтому она истинна. А вот `None`, `0` и `[]` все являются ложными. Это важно знать для корректных проверок `if value:`.

15Пусть `x = [10, 20, 30]`. После выполнения `del x[1]` — каким станет список и что будет с переменной `x`?
AСписок станет `[10, 30]`, а обращение к `x` вызовет `NameError`
BСписок станет `[10, 30]`, а переменная `x` по-прежнему ссылается на него
CСписок станет `[10, 30]`, а `x` будет равен `None` после удаления элемента
DОбе строки вызовут `TypeError`, потому что `del` удаляет только переменные
Ответ: Оператор `del` удаляет элемент по индексу из списка, сам список при этом сохраняется.

Инструкция `del x[1]` удаляет элемент с индексом `1` (значение `20`) из списка. Список `x` изменяется на месте и становится `[10, 30]`. Переменная `x` продолжает ссылаться на тот же список. Если бы мы написали `del x`, удалилась бы сама переменная, и обращение к `x` вызвало бы `NameError`.

12345678

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

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

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

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

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