You can use functools.partial
:
>>> from functools import partial >>> def foo(x, y): ... print x+y ... >>> partial(foo, y=3) <functools.partial object at 0xb7209f54> >>> f = partial(foo, y=3) >>> f(2) 5
In your example:
def function(x, y): pass
And the real use with regular expressions:
>>> s = "the quick brown fox jumps over the lazy dog" >>> def capitalize_long(match, length): ... word = match.group(0) ... return word.capitalize() if len(word) > length else word ... >>> r = re.compile('\w+') >>> r.sub(partial(capitalize_long, length=3), s) 'the Quick Brown fox Jumps Over the Lazy dog'
source share