Advertisement
Guest User

Untitled

a guest
Feb 19th, 2020
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.52 KB | None | 0 0
  1. class ImprovedPartial(object):  # pylint: disable=useless-object-inheritance
  2.     __slots__ = ['_call', '_args', '_kwargs']
  3.  
  4.     def __init__(self, call, *args, **kwargs):
  5.         self._call = call
  6.         self._args = args
  7.         self._kwargs = kwargs
  8.  
  9.     def __call__(self, *args, **kwargs):
  10.         in_args = list(args)
  11.  
  12.         built_args = [(arg if arg is not ... else in_args.pop(0))
  13.                       for arg in self._args] + in_args
  14.  
  15.         return self._call(*built_args, **ChainMap(self._kwargs, kwargs))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement