[Python-ideas] fixing mutable default argument values
Joel Bender
jjb5 at cornell.edu
Wed Jan 17 15:19:19 CET 2007
> Where the <>s indicate these special semantics.
The syntax bothers me, but launched an idea: How about separating
parameter default value issues from instance specific definition time
objects?
def foo(a, b=4, c=None):
local d = Bar([2,3,4])
...
The function code can decide if it wants to use c, provided by the
caller, or d when no value for c is given. The developer may decide
that None is not a good value for 'no value for c', but that's a design
decision.
You can do this now with:
def foo(a, b=4, c=None):
...
foo.func_dict['d'] = Bar([2,3,4])
But I would rather see this inside foo(), jamming variables into the
func_dict bothers me too :-).
The new keyword would work for classes, but be a functional noop:
class Snorf:
local eggs = 3
spam = 4
Joel
More information about the Python-ideas
mailing list