1  import functools
       2  
       3  
       4  # from jaraco.functools 3.5.2
       5  def compose(*funcs):
       6      def compose_two(f1, f2):
       7          return lambda *args, **kwargs: f1(f2(*args, **kwargs))
       8  
       9      return functools.reduce(compose_two, funcs)