Поговорим об операторе “звездочка”- *. Рис.1 Начнем с примера. Нам необходимо функции передать переменное количество позиционных параметров. Мы не знаем сколько их будет. Для этого мы можем указать “*args”(название можно поменять, у нас params). Все параметры, которые мы будем передавать при вызове функции print(params), у нас будут упакованы в кортеж(рис.2). Но если мы поставим “звездочку” ( print(*params)), то все параметры будут распакованы(рис.3). Рис.2 Рис.3 То есть, одну “звездочку” мы можем поставить тогда, когда не уверены или не знаем сколько у нас будет параметров. Как правило, если функция принимает больше 7 параметров, используют оператор “*args”. Рассмотрим, как работает распаковка. У нас есть функция, которая принимает параметры a, b, c и распечатывает их. Допустим у нас есть список list, в котором находятся значения 1, 2, 3. Мы можем передать список целиком, но при запуске мы получим ошибку(рис.4), потому что список встал на место первого параметра “a “, а у нас их три.