Первый print выведет 22222, потому что строка повторяется пять раз. Второй вызовет TypeError: складывать int и str напрямую нельзя. Поэтому оставшиеся строки обычного скрипта не выполнятся.
Умножение строки и ошибка сложения int со str
Первый print выведет 22222, потому что строка повторяется пять раз. Второй вызовет TypeError: складывать int и str напрямую нельзя. Поэтому оставшиеся строки обычного скрипта не выполнятся.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
x = 5 y = "2" print(x * y) print(x + y)
a = 1 id(a)
a = +1 id(a)
Ответ
Первый print выведет 22222, потому что строка повторяется пять раз. Второй вызовет TypeError: складывать int и str напрямую нельзя. Поэтому оставшиеся строки обычного скрипта не выполнятся.
Если рассматривать фрагмент с a отдельно, a = +1 присваивает положительную единицу, а не увеличивает значение. Для увеличения используется a += 1. В обычном скрипте вызов id(a) без print ничего не выводит. Совпадение идентичности малых чисел в конкретной реализации не следует использовать как проверку равенства значений; для этого предназначено ==.