pep 336: Make None Callable
Mike C. Fletcher
mcfletch at rogers.com
Thu Nov 4 02:18:32 EST 2004
More information about the Python-list mailing list
Thu Nov 4 02:18:32 EST 2004
- Previous message (by thread): pep 336: Make None Callable
- Next message (by thread): pep 336: Make None Callable
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Bengt Richter wrote: >On Wed, 03 Nov 2004 20:59:43 -0700, The Eternal Squire <eternalsquire at comcast.net> wrote: > > ... >>Abstract >> >> None should be a callable object that when called with any >> arguments has no side effect and returns None. >> >> ... >IMO in the context of selectable actions, the noop should be a noop function, >not None, e.g., > > def Noop(*args, **kwargs): pass > > IMO this (defining an object (e.g. a function)) which is explicitly intended to be used for such a thing is far better than adding to the semantics of None at this late date. For instance, the original proposal would completely change the semantics of this code: method = methods.get( someKey ) try: method( my, arguments, are=here) except TypeError, err: pass it would also alter the results of this: callable( None ) so that any code which is using the exception-raising or callable to catch an undefined method-table-lookup will now fail (silently, I might add). Defining a function/object for use in such situations is fine, but altering such commonly referenced functionality of one of the most "core" objects in Python is, I would suggest, a seriously sub-optimal forward path. The path forward, I would think, would be to find a good place for such a function/object to live and slotting it in there so that it's naturally available. If there were, for instance, a "functional" module, with such an object in it, it would make perfect sense to write: methods.get( somekey, functional.noop ) and you would get the functionality without muddying the semantics of None at this late date. Just MHO, Mike ________________________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://www.vrplumber.com http://blog.vrplumber.com
- Previous message (by thread): pep 336: Make None Callable
- Next message (by thread): pep 336: Make None Callable
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list