[Python-3000] parameter lists [was: Type Expressions]

Ron Adam rrr at ronadam.com
Fri Apr 21 07:54:30 CEST 2006


Greg Ewing wrote:
> Jim Jewett wrote:
> 
>> I also see the value of keyword-only arguments without unlimited
>> positional arguments.  Whether it deserves syntax and what that syntax
>> should be (such as * or *None)  may need a pronouncement eventually,
>> but it doesn't have to be complex.
> 
> My previous post was just wild brainstorming. I'd be
> perfectly happy with
> 
>    def f(a, b, *, c, d = x):
>      # c and d are keyword only, c is required,
>      # no extra positional args allowed


Or just ...

    def f(a, b, c=?, d=x):


I think this might be clearer if some suitable replacement for the '?' 
in the above could be decided on.


This *may* relate to None being an object which isn't the same as "not a 
value".  There currently isn't a way (that I know of) to specify a 
generally null object outside of sequences.

    def f(a, b, c=Null, d=x):     # Using None here wouldn't work.


Recently I found a case where I wanted to return something that was more 
literally *nothing* than a None is.  So maybe a null symbol of some sort 
might be useful in other cases as well?

Cheers,
    Ron





More information about the Python-3000 mailing list