В Python переменное число позиционных аргументов собирают через *args, именованных — через **kwargs. Внутри это tuple и dict соответственно.
Необходимо написать функцию с переменным количеством аргументов, привести пример работы.
В Python переменное число позиционных аргументов собирают через *args, именованных — через **kwargs. Внутри это tuple и dict соответственно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Python переменное число позиционных аргументов собирают через *args, именованных — через **kwargs. Внутри это tuple и dict соответственно.
Пример функции с произвольным количеством чисел и дополнительной настройкой:
def total(*values, **options):
multiplier = options.get('multiplier', 1)
return sum(values) * multiplier
print(total(1, 2, 3)) # 6
print(total(1, 2, 3, multiplier=2)) # 12
print(total()) # 0
Имена args и kwargs условны: поведение определяют звёздочки. Если настройка известна заранее, лучше явно объявить keyword-only параметр multiplier=1.