Определение типа объекта с помощью isinstance

Программа выведет False, поскольку num — кортеж из одного целого числа, а не сам int. Тип содержащегося значения не становится типом контейнера.

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

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

Программа выведет False, поскольку num — кортеж из одного целого числа, а не сам int. Тип содержащегося значения не становится типом контейнера.

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

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

Условие

Напишите программу, которая формирует кортеж, содержащий единственное целое число, и проверяет, относится ли получившийся объект к типу int с помощью функции isinstance(). Выведите результат проверки.

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

Ответ

Программа выведет False, поскольку num — кортеж из одного целого числа, а не сам int. Тип содержащегося значения не становится типом контейнера.

num = (1_000_000,)
print(isinstance(num, int))  # False

Запятая после числа формирует tuple. Без неё (1_000_000) было бы просто целым выражением, и результат проверки стал бы True. Подчёркивания в записи миллиона нужны только для читаемости.

Если нужно проверить элемент, обратитесь по индексу: isinstance(num[0], int). Если нужно проверить контейнер, используйте isinstance(num, tuple). Все эти проверки отвечают на разные вопросы и не являются взаимозаменяемыми.

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

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

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

Подробнее