parameterized functions: a question of style
peter at engcorp.com
Mon Aug 12 05:17:58 CEST 2002
Blair Hall wrote:
> Suppose (just for arguments sake) I need various functions of the form
> y = x**n, where n is a
> parameter, ie I want n to be part of the function definition, not an
> argument to it!
> I am tempted to write
> def gen_fn(n):
> def _fn(x):
> return x**n
> return _fn
> The only alternative I can think of to this would be inheritance
> This solution leaves me with a class, not a function (which is what I
> intended to have), so there would be a further step needed to export
> the class methods as functions.
The further step would simply be to define __call__() methods in the
classes to make the instances callable. Then you have "functions"
in the sense that you probably need them.
More information about the Python-list