arguments to functions
Bengt Richter
bokr at oz.net
Sun Jun 30 18:53:12 EDT 2002
On 30 Jun 2002 18:37:04 GMT, bokr at oz.net (Bengt Richter) wrote:
[...]
>You could get what I guess is the effect you want (keyword value takes priority) something like:
>
> >>> def test(_expected=None, *misc, **kwargs):
> ... expected = kwargs.get('expected',None) or _expected
> ... print 'expected:%s, misc:%s, kwargs:%s' % (`expected`,`misc`,`kwargs`)
> ...
Oops, not quite:
>>> test(expected=0)
expected:None, misc:(), kwargs:{'expected': 0}
Shortcut evaluation is dangerous ;-/
>>> def test(_expected=None, *misc, **kwargs):
... if kwargs.has_key('expected'):
... expected = kwargs['expected']
... else:
... expected = _expected
... print 'expected:%s, misc:%s, kwargs:%s' % (`expected`,`misc`,`kwargs`)
...
>>> test(expected=0)
expected:0, misc:(), kwargs:{'expected': 0}
Regards,
Bengt Richter
More information about the Python-list
mailing list