micropython-lib/python-stdlib/functools/functools.py

29 wiersze
651 B
Python

def partial(func, *args, **kwargs):
def _partial(*more_args, **more_kwargs):
kw = kwargs.copy()
kw.update(more_kwargs)
return func(*(args + more_args), **kw)
return _partial
def update_wrapper(wrapper, wrapped, assigned=None, updated=None):
# Dummy impl
return wrapper
def wraps(wrapped, assigned=None, updated=None):
# Dummy impl
return lambda x: x
def reduce(function, iterable, initializer=None):
it = iter(iterable)
if initializer is None:
value = next(it)
else:
value = initializer
for element in it:
value = function(value, element)
return value