[Python-3000] Type Expressions

Greg Ewing greg.ewing at canterbury.ac.nz
Thu Apr 20 11:19:59 CEST 2006


Some wilder ideas for keyword-only arguments:
 def spam(a, b, c, {d, e, f=x}):
 # d, e are mandatory keyword-only
 # f is optional keyword-only
Writing them inside {} is meant to make them look
like a set, therefore unordered.
Problem is it looks a little ugly when all you have
is keyword-only args:
 def spam({d, e, f=x}):
 ...
So maybe you should be able to write that as
 def spam{d, e, f=x}:
 ...
Then if you have some positional args as well,
 def spam(a, b, c){d, e, f=x}:
 ...
And incorporating all the possible features,
 def spam(a, b, c=y, *d){e, f=x, **g}:
 ...
Although now that the ** arg is inside the {}, there's
no longer any need for the double *, so it could just be
 def spam(a, b, c=y, *d){e, f=x, *g}:
 ...
--
Greg


More information about the Python-3000 mailing list

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