How do I chain methods?
Terry Reedy
tjreedy at udel.edu
Mon Oct 25 13:48:21 EDT 2010
More information about the Python-list mailing list
Mon Oct 25 13:48:21 EDT 2010
- Previous message (by thread): How do I chain methods?
- Next message (by thread): How do I chain methods?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10/24/2010 11:42 PM, Chris Rebert wrote: > On Sun, Oct 24, 2010 at 4:11 PM, James Mills > <prologic at shortcircuit.net.au> wrote: >> On Mon, Oct 25, 2010 at 9:02 AM, Chris Rebert<clp2 at rebertia.com> wrote: >>> Method chaining is usually* not idiomatic in Python. >> >> I don't agree but anyway... I've just not seen it commonly used >> amongst python programmers. > > If Python wanted to encourage method-chaining-style, then list.sort(), > list.reverse(), and several other built-in type methods would (ala > Ruby) return self rather than None. Since they don't, and since > "uncommon idiom" is a near-oxymoron, I think we can safely conclude > that method chaining isn't idiomatic in Python. It is intentionally not idiomatic for methods that mutate or otherwise operate strictly by side-effect, as in the OP example. It *is* idiomatic for methods that return new objects. >>> s = ' abc def ' >>> s.strip().title() 'Abc Def' And, of course, it is used internally to implement expressions with operators that also produce new objects. >>> 3*2+1 == 3 .__mul__(2) . __add__(1) True -- Terry Jan Reedy
- Previous message (by thread): How do I chain methods?
- Next message (by thread): How do I chain methods?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list