code: def bindkw(fun, **kwbind):
      
  
      @functools.wraps(fun)
      def wrapped(*args, **kwargs):
          kws = kwbind.copy()
          kws.update(kwargs)
          return fun(*args, **kws)
  
      return wrapped
docs: kwarg 바인딩된 함수 return.
      ex)
      def fun(opt1, opt2):
          print opt1, opt2
  
      f = bind(fun, opt1=2, opt2=3)
      f()
      :param function fun:
      :param kwbind:
      :return: function