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

Ron Adam rrr at ronadam.com
Fri Apr 21 20:04:18 CEST 2006


Guido van Rossum wrote:
> On 4/21/06, Ron Adam <rrr at ronadam.com> wrote:
>> 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?
>> You're not gonna get something that's a valid expression *and* is more
> "nothing" than None.

Yes, it would require special casing either by object methods and/or by 
the interpreter to work in a general way. Which is probably enough of a 
reason not to do it.
> On a case by case basis there might be syntax indicating the absence
> of something that is distinguishable from 'None'; for example, using
> *args you can reliaby whether an argument was passed or not (unlike
> using None as a default, which can be defeated by passing an explicit
> None).

Yes, in cases where containers are used, as in *args, the identity "x == 
x + empty_container" works. What I was looking for was the same 
identity operations with an append method.
 x == x.append(foo(y)) # when foo returns a NULL object.
Not that it's a big deal, I just thought it might also fit with Gregs 
suggestion as well where a keyword with a NULL could indicate a defualt 
isn't present and must be supplied when used as a defualt.
 > But a generic NULL won't be part of the language.
I'm fine with that. I realized it may need a lot more *good* use cases 
to not have the special isn't special enough guide line apply.
Cheers,
 Ron
> --
> --Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-3000 mailing list

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