[Python-3000] Pronouncement on parameter lists

Talin talin at acm.org
Fri Apr 21 20:29:37 CEST 2006


Jim Jewett <jimjjewett <at> gmail.com> writes:
> It has not yet been specified what would happen to additional
> positional arguments that get passed in anyway. (Swallow or raise an
> Exception?)

Additional positional arguments would be treated exactly as if you attempted 
to pass too many positional arguments to a function that took a fixed number 
of arguments. In other words, raise TypeError.
> It has not yet been specified whether the keyword-only arguments must
> each have a default. Most proposals assume not, but then do ugly
> things to support that assumption. The above suggests
>> def foo(a, b=2, *, x=3, y=4): # OK
> def foo(a, b=2, *, x, y=4): # not yet decided

Defaults and keywords have nothing to do with each other, other than the fact 
that they both use the '=' sign. So both examples above would be OK, however 
if you failed to supply a value for 'x', that would be an error in the second 
example, but not the first.
-- Talin


More information about the Python-3000 mailing list

AltStyle によって変換されたページ (->オリジナル) /