>> I also understand (fairly) how to collect arguments. For example, let's >> define another function: >> >> def f(*a): >> print a > > This means that f takes any number of optional positional arguments. > If nothing is passed, within f, 'a' will be an empty tuple. Note that > this is *not* the usual way to define a function taking multiple > (mandatory) arguments. >
M. Lutz in "Learning Python" had defined it this way. What is the *usual* way in this case? > > or (slightly more involved, and certainly overkill): > > def with_default_args(default): > def decorator(func): > def wrapper(*args): > if not args: > args = default > return func(*args) > return wrapper > return decorator > > @with_default_args((0,)) > def f(*a): > print a[0] > Now, this is interesting. Thanks! :) Primoz -- http://mail.python.org/mailman/listinfo/python-list