[Python-Dev] Shortcut Notation for Chaining Method Calls (original) (raw)

Michael Foord fuzzyman at voidspace.org.uk
Sun Feb 4 00:30:57 CET 2007


Greg Ewing wrote:

Michael O'Keefe wrote:

I'd like to see a built-in shorthand to allow me to chain method calls even when a method call does not explicity return a reference to the instance of the object (self).

def newFunc02(): return NewList([8,9,7,1]).self('sort').self('reverse').self('pop',0) My thought is that you're trying to write programs in some other language using Python. If you really want all that on one line, you can do it already: x = NewList([8,9,7,1]); x.sort(); x.reverse(); return x.pop(0) which is just as compact and doesn't suffer from the weirdness of passing method names in as quoted strings. You could write a metaclass which decorates all methods in a class. Any methods which return None could return self instead.

Michael

-- Greg


Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk



More information about the Python-Dev mailing list