Для чего в коде стоит знак *?

print(*(lambda a, b: (b, a))(int(input()), int(input())))

Ответы (1 шт):

Автор решения: CrazyElf

Не ленитесь проверять разные варианты кода самостоятельно, ведь у питона есть интерактивный интерпретатор (и не один), в котором проверить разные варианты кода - дело нескольких секунд.

print(*(lambda a, b: (b, a))(int(input()), int(input())))

Вывод, если ввести 10 и 20:

20 10

А теперь убираем * и снова пробуем:

print((lambda a, b: (b, a))(int(input()), int(input())))

Вывод, если ввести 10 и 20:

(20, 10)

* разворачивает коллекцию, к которой она применяется, на отдельные элементы. Как можно видеть, без * печатается кортеж как он есть, а со * элементы коллекции (в данном случае - кортежа) выводятся на печать так, как будто это набор отдельных переменных. Иногда это бывает полезно (и далеко не только для печати).

→ Ссылка