Программа выведет False, поскольку num — кортеж из одного целого числа, а не сам int. Тип содержащегося значения не становится типом контейнера.
Определение типа объекта с помощью isinstance
Программа выведет 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). Все эти проверки отвечают на разные вопросы и не являются взаимозаменяемыми.