function with variable arguments

PoD pod at internode.on.net
Fri May 13 08:10:09 EDT 2005


On Fri, 13 May 2005 02:52:34 -0700, Xah Lee wrote:

> i wanted to define a function where the number of argument matters.
> Example:
> 
> def Range(n):
>     return range(n+1)
> 
> def Range(n,m):
>     return range(n,m+1)
> 
> def Range(n,m,step):
>     return range(n,m+1,step)
> 
> this obvious doesn't work. The default argument like
> Range(n=1,m,step=1) obviously isn't a solution.
> 
> can this be done in Python?
> 
> or, must the args be changed to a list?
> 

def Range(n,m=None,step=1):
  if m is None:
    n,m = 0,n+1
  else:
    n,m = n,m+1
  return range(n,m,step)





More information about the Python-list mailing list