Вопрос проверяет знание механизма передачи переменного количества позиционных аргументов в функцию.
*args — это способ передать в функцию переменное количество позиционных аргументов. Аргументы, переданные через *args, собираются в кортеж и могут быть обработаны внутри функции.
*args используется для передачи произвольного числа позиционных аргументов в функцию. Эти аргументы собираются в кортеж.
Пример:
def my_function(*args):
for arg in args:
print(arg)
my_function(1, 2, 3, 4)
# Вывод:
# 1
# 2
# 3
# 4Если передать в функцию 2, 3 или 10 аргументов, *args справится с этим.
def add_numbers(*args):
return sum(args)
print(add_numbers(1, 2)) # 3
print(add_numbers(1, 2, 3, 4, 5)) # 15Примечания:
*args — это соглашение, имя переменной может быть любым, но обычно используется args.
*args удобно комбинировать с обычными аргументами и **kwargs.
Пример комбинированной функции:
def combined_function(a, b, *args):
print(f"a: {a}, b: {b}")
print(f"Additional args: {args}")
combined_function(1, 2, 3, 4, 5)
# Вывод:
# a: 1, b: 2
# Additional args: (3, 4, 5)Когда использовать:
Если функция должна принимать произвольное количество позиционных аргументов.