Что выведет программа при проверке типа переменной?

Программа выведет False. Из-за завершающей запятой data — кортеж из одного целого числа, а не само целое число. Подчёркивания в числовом литерале на тип не влияют.

Короткий ответ

Что ответить на собеседовании

Программа выведет False. Из-за завершающей запятой data — кортеж из одного целого числа, а не само целое число. Подчёркивания в числовом литерале на тип не влияют.

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

Ответ с пояснениями

Условие

Определите вывод данного фрагмента кода и объясните, почему он такой. Пример кода, проверяющего тип значения.

data = (1_000_000,)
print(isinstance(data, int))

Ответ

Программа выведет False. Из-за завершающей запятой data — кортеж из одного целого числа, а не само целое число. Подчёркивания в числовом литерале на тип не влияют.

Выражение (1_000_000,) создаёт tuple. Скобки группируют выражение, но именно запятая делает его одноэлементным кортежем.

print(type(data))             # <class 'tuple'>
print(isinstance(data, int))  # False
print(isinstance(data[0], int))  # True

Без запятой data = (1_000_000) было бы обычным целым числом. Подчёркивания нужны только для читаемости записи: 1_000_000 и 1000000 обозначают одно значение.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее