+ 11
объясните пожалуйста последовательно что здесь происходит?
def apply_twice(func, arg): return func(func(arg)) def add_five(x): return x + 5 print(apply_twice(add_five, 10)) результат:20 эх,не хватает русского комьюнити в приложении(
2 Answers
+ 11
Вот недавно поставил прогу, до функций ещё не дошёл, но тут все очевидно: передали в функцию параметр который ссылается на другую функцию, которая добавляет 5 к значению аргумента. В итоге получилось что вызвали функцию дважды и она из 10 сделала вначале 15, потом 20
+ 2
print вызывает функцию APPLY_twice
эта функция вызывает функцию add_five а у неё в качестве аргумента она сама значит она выполниться один раз вернет значение X и со значением Х выполниться ещё раз вот и все