Передача произвольного набора аргументов функции в Python
Иногда мы не знаем заранее, сколько аргументов должно быть передано функции. К счастью, Python позволяет функции получить произвольное количество аргументов из вызывающей команды.
Для примера рассмотрим функцию, которая будет добавлять нужную расцветку к заказу пользователя. Определяем функцию user_color(), и указываем звёздочку в имени параметра *colors. Звёздочка приказывает Python создать пустой кортеж с именем colors, и упаковать в него все полученные значения.
Обратите внимание: Python упаковывает все полученные аргументы в кортеж, даже если функция получает всего одно значение.
Далее в теле функции, мы выводим кортеж colors на экран. После того, как мы определили функцию, можно её вызвать, с произвольным количеством аргументов.
# Определяем функцию def user_color(*colors): # Выводим кортеж на экран print(colors) # Вызываем функцию user_color("Красный", "Синий", "Зелёный")
Давайте усложним функцию user_color() и добавим в неё цикл for, который будет перебирать кортеж и выводить каждое значение на экран.
# Определяем функцию def user_color(*colors): print("Цвета, которые добавил пользователь:") # Запускаем цикл for for color in colors: print("- " + color) # Вызываем функцию user_color("Красный", "Синий", "Зелёный")