Переменная "therest" - это список переменных, который принимает все аргументы, которые были переданы функции "foo" после первых трех аргументов. При вызове foo(1,2,3,4,5)будет распечатано:
Также можно отправлять аргументы функций по ключевому слову, так что порядок аргументов не имеет значения, используя следующий синтаксис. Следующий код дает следующий результат:
The sum is: 6
Result: 1
def bar(first, second, third, **options):
if options.get("action") == "sum":
print("The sum is: %d" %(first + second + third))
if options.get("number") == "first":
return first
result = bar(1, 2, 3, action = "sum", number = "first")
print("Result: %d" %(result))
Функция bar получает 3 аргумента. Если получен дополнительный аргумент «действие», который предписывает суммировать числа, то сумма распечатывается. В качестве альтернативы функция также знает, что она должна вернуть первый аргумент, если значение параметра «число», переданное в функцию, равно «first».
Упражнение
Заливка в fooи barфункции , чтобы они могли получить переменное количество аргументов (3 или более) В fooфункции должны возвращать количество дополнительных аргументов , полученных. barДолжен вернуться , Trueесли аргумент с ключевым словом magicnumberстоит 7, и в Falseпротивном случае.