Вывод и причина поведения кода при проверке типа

Выведется False. data — tuple из одного элемента; наличие внутри целого числа не делает сам кортеж экземпляром int.

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

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

Выведется False. data — tuple из одного элемента; наличие внутри целого числа не делает сам кортеж экземпляром int.

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

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

Условие

Что выведет данная программа и почему? Рассматривается проверка типа объекта.

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

Ответ

Выведется False. data — tuple из одного элемента; наличие внутри целого числа не делает сам кортеж экземпляром int.

Кортеж создаётся благодаря запятой:

data = (1_000_000,)
assert isinstance(data, tuple)
assert isinstance(data[0], int)

Подчёркивания в записи числа используются для читаемости и не влияют на тип. Если написать data = (1_000_000) без запятой, скобки только сгруппируют выражение, и isinstance(data, int) вернёт True.

Проверка isinstance применяется к переданному объекту и учитывает его класс/наследование, но не просматривает содержимое контейнера. Для проверки элементов требуется обращаться к ним отдельно либо выполнять цикл.

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

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

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

Подробнее