Passing a variable number of arguments to a wrapped function.

en.karpachov at ospaz.ru en.karpachov at ospaz.ru
Fri Aug 5 13:19:04 EDT 2005


On 5 Aug 2005 08:34:32 -0700
stephen at theboulets.net wrote:

> Is there a better way of doing this so that I don't have to go through
> every permutation of possible arguments (the example here from the
> matplotlib 'plot' function):
> 
> def makeplot(self, xvalues, yvalues, linecolor='', linewidth=''):
>     if linecolor and linewidth:
>         plot(xvalues, yvalues, linecolor, linewidth=linewidth)
>     elif linecolor:
>         plot(xvalues, yvalues, linecolor)
>     elif linewidth:
>         plot(xvalues, yvalues, linewidth=linewidth)
>     else:
>         plot(xvalues, yvalues)

What's wrong with:

def makeplot(self, xvalues, yvalues, **kwargs):
     plot(xvalues, yvalues, **kwargs)

or even:

def makeplot(self, *a, **ka):
     plot(*a, **ka)

?

-- 
jk



More information about the Python-list mailing list