On 09/17/10 00:22, Vince Spicer wrote: > > > Well I can't comment on right or wrong I would think creating a simple > class with a __call__ method is a little more pythonic.
I think even more pythonic is to use closure: def create_setpattern(type_): def f(self, pattern, parameter): return pattern_generator(self, type_, pattern, parameter) return f setpattern_iis = create_setpattern('iis') for short function body, you can use lambda: def create_setpattern(t): return lambda s, pat, par: pattern_generator(s, t, pat, par) probably the best solution is to use functools.partial: from functools import partial setpattern_iis = partial(pattern_generator, type='iis') however, this does NOT work due to (TypeError: pattern_generator() got multiple values for keyword argument 'type'); do you think it will be reasonable for partial to support this use case? _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor