In article <[EMAIL PROTECTED]>, Alex Martelli <[EMAIL PROTECTED]> wrote: >Aahz <[EMAIL PROTECTED]> wrote: >> In article <[EMAIL PROTECTED]>, >> Alex Martelli <[EMAIL PROTECTED]> wrote: >>> >>>the canonical idiom when you need such distinction is: >>> >>>_not_there = object() >>>def foo(bar=_not_there, baz=_not_there, bap=_not_there): >>> if bar is _not_there: ... >>> >>>Other unique objects can be substituted for the 'sentinel', but I prefer >>>an empty "object()" because it has no other possible meaning except that >>>of a distinguishable, identifiable sentinel. IOW, you could set the >>>_not_there name to [] or {} or many other things, but that could be >>>slightly confusing for the reader (since the other things might have >>>other meanings and purposes) while 'object()' shouldn't be. >> >> What's your preferred idiom when you're dealing with storable objects? > >What's a "storable object"? You mean, something that can be pickled, or >passed to the .write method of a file object, or stored in a database, >or what else?
Pickled and/or stored in a DB. -- Aahz ([EMAIL PROTECTED]) <*> http://www.pythoncraft.com/ "If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." --Red Adair -- http://mail.python.org/mailman/listinfo/python-list