Antoon Pardon wrote: > Op 2006-03-10, Roy Smith schreef <[EMAIL PROTECTED]>: > >>"Dmitry Anikin" <[EMAIL PROTECTED]> wrote: >> >>>There are often situations when a function has independent >>>parameters, all having reasonable defaults, and I want to >>>provide just several of them. In fact, I can do it using >>>keyword parameters, but it's rather long and you have to >>>remember/lookup names of parameters. >> >>Specifying the names of the keyword parameters costs you a little typing >>once, but saves everybody (including yourself) a lot of grief later when >>you're trying to figure out what the heck your code does 6 months later. > > > Could you explain what is so hard in figuring out: > > func(,,4) >
Your func has only three parameters, and only one non-default. I think "all have reasonable defaults, I want to provide several" means you might end up with bugs like this. func(,,,1.2e-3,7.6e18,3.124576,3567.0,) func(,,1.24e3,1,21.26e4,,,1220,57,35,0) # bug TypeError: func() takes exactly 8 arguments (9 given) Now what are the correct arguments? 1220.57, 35, and 0 1220, 57.35, and 0 1220, 57, and 35.0 With keywords parameters, this is easy to answer. func(y=1.2e-3, z=7.6e18, i=3.124576, j=3567.0) func(x=1.24e3, y=1, z=21.26e4, j=1220, k=57,35, w=0) # bug SyntaxError: non-keyword arg after keyword arg. -- http://mail.python.org/mailman/listinfo/python-list