0
Помогите понять!!! Объясните код , пошагово
def apply_twice(func, arg): return func(func(arg)) def add_five(x): return x + 5 print(apply_twice(add_five, 10))
2 Answers
+ 16
print(apply_twice(add_five,10))
👆 let me expand
apply_twice make add_five func work 2 times on argument 10 passed to it...
In apply_twice(add_five,10)
add_five is func and 10 is arg
so it becomes
print(add_five(add_five(10)))
👇
print(add_five(10+5))
👇
print(10+5+5)
👇
output 20
+ 6
Метод apply_twice принимает два параметра - func и arg. Потом он использует func с аргументом, а результат действует как аргумент для ещё одного призвания функции.
И так:
add_five(add_five(10)) значит add_five(10+5), значит add_five(15), значит 15+5, значит 20.