Idiom gone, or did it really ever exist? () is ()
Michael Haggerty
mhagger at alum.mit.edu
Thu Apr 19 17:04:12 EDT 2001
"Delaney, Timothy" <tdelaney at avaya.com> writes:
> > > That is, I was attempting to distinguish between a call where
> > > argument is passed a NULL tuple and a call where argument is
> > > passed nothing at all.
>
> # Should always work
>
> class nullArgument:
> """"""
>
> __nullArgument = nullArgument()
>
> def func (p=__nullArgument):
> if p is __nullArgument:
> print 'Default parameter'
> else:
> print 'Parameter passed'
When I first faced this problem, I started typing in code that was
equivalent to yours, until it occurred to me that there is no reason
to instantiate the class--the class itself serves as a fine default
argument. In other words,
class __nullArgument:
pass # Isn't this what pass is for?
def func (p=__nullArgument):
if p is __nullArgument:
print 'Default parameter'
else:
print 'Parameter passed'
Cheers,
Michael
--
Michael Haggerty
mhagger at alum.mit.edu
More information about the Python-list
mailing list