Введение в язык Питон


Другие функции высшего порядка - часть 3


      1

      >>> any([1,3,5,7], isEven)

      0

      >>> none_of([1,3,5,7], isEven)

      1

      >>> all([2,4,6,8], isEven)

      1

      >>> all([2,4,6,7], isEven)

      0

Особый интерес для тех, кто неравнодушен к математике, представляет функция высшего порядка compose(). Композиция из нескольких функций формирует цепочку, направляя возврат одной функции на вход следующей. Программист, комбинирующий несколько функций, должен следить за тем, чтобы выход и вход соответствовали друг другу - но ведь это так в любом случае, если программист использует возвращаемое значение. Ниже приведен пример, поясняющий сказанное:

    #----------- Creating compositional functions -----------#

          >>> def minus7(n): return n-7

          ...

          >>> def times3(n): return n*3

          ...

          >>> minus7(10)

          3

          >>> minustimes = compose(times3,minus7)

          >>> minustimes(10)

          9

          >>> times3(minus7(10))

          9

          >>> timesminus = compose(minus7,times3)

          >>> timesminus(10)

          23

          >>> minus7(times3(10))

          23




Начало  Назад  Вперед



Книжный магазин