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

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

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

Вопросы 1620 из 40

16Нужно проверить, что две переменные `a` и `b` содержат одинаковый текст. Какое выражение использовать?
A`a is b`
B`a = b`
C`a in b`
D`a == b`
Ответ: Для сравнения значений используйте `==`, а не `is`.

Оператор `==` сравнивает значения (содержимое), поэтому для строк обычно пишут `a == b`. Оператор `is` проверяет, является ли это один и тот же объект, и не предназначен для сравнения текстов. Присваивание `a = b` вообще не является сравнением.

17Чему равно выражение `"a,b,c".split(",")`?
A`["a", "b", "c"]`
B`"a"`
C`"a,b,c"`
D`("a", "b", "c")`
Ответ: `.split()` разбивает строку на список по разделителю.

Метод `.split(",")` разделяет строку по запятой и возвращает список подстрок. Разделитель в результат не входит, поэтому `"a,b,c".split(",")` даст список из трёх строк: `"a"`, `"b"` и `"c"`.

18Вы хотите проверить, что переменная `x` не является `None`, используя оператор идентичности. Какое выражение нужно написать?
A`x != None`
B`x not None`
C`x == not None`
D`x is not None`
Ответ: Для проверки «не `None`» с идентичностью используется `is not`.

Оператор `is` (и форма `is not`) проверяет идентичность объектов. Если нужно явно проверить, что `x` не является `None`, пишут `x is not None`. Вариант `x not None` — синтаксически неверен.

19Пусть `items = [0]`. Какой результат даст `bool(items)`?
A`False`, потому что внутри есть 0
BБудет исключение `TypeError`
C`True`, потому что список непустой
D`None`
Ответ: Непустые контейнеры считаются истинными в булевом контексте.

В булевом контексте (в `if`, `while` или при вызове `bool()`) контейнеры оцениваются по пустоте. Пустой список `[]` — это `False`, а непустой список `[0]` — это `True`, даже если внутри есть «ложное» значение `0`.

20Чему равно выражение `5 == "5"`?
A`False`
B`True`
CБудет исключение `TypeError`
D`None`
Ответ: `==` не приводит типы автоматически при сравнении.

Хотя `5` и `"5"` выглядят похоже, это разные типы: `int` и `str`. В Python `==` не выполняет неявное преобразование типов, поэтому `5 == "5"` даёт `False`. Если нужно сравнить, приведите типы явно: `5 == int("5")`.

12345678

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

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

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

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

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