Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #60243

Re: Method chaining

From Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de>
Subject Re: Method chaining
Date 2013-11-22 16:52 +0000
References <528f3f4e$0$29992$c3e8da3$5496439d@news.astraweb.com> <mailman.3035.1385122060.18130.python-list@python.org> <528f6989$0$29992$c3e8da3$5496439d@news.astraweb.com> <mailman.3044.1385133587.18130.python-list@python.org> <528f859e$0$29992$c3e8da3$5496439d@news.astraweb.com>
Newsgroups comp.lang.python
Message-ID <mailman.3048.1385139196.18130.python-list@python.org> (permalink)

Show all headers | View raw


Steven D'Aprano <steve+comp.lang.python <at> pearwood.info> writes:

> # With chaining
> thing = func(MyClass().spam().eggs().cheese(), 
>              MyClass().aardvark(),
>              OtherClass().fe().fi().fo().fum(),
>              )
> do_stuff_with(thing)
> 
> versus:
> 
> # Without chaining
> temp1 = MyClass()
> temp1.spam()
> temp1.eggs()
> temp1.cheese()
> temp2 = MyClass()
> temp2.aardvark()
> temp3 = OtherClass()
> temp3.fe()
> temp3.fi()
> temp3.fo()
> temp3.fum()
> thing = func(temp1, temp2, temp3)
> do_stuff_with(thing)
> 

Another use case might be in comprehensions and generator expressions ??

thing = [MyClass().spam().eggs(x).cheese() for x in sequence]

where you can't use all those temporary assignments.

Best,
Wolfgang

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Method chaining Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-11-22 11:26 +0000
  Re: Method chaining Chris Angelico <rosuav@gmail.com> - 2013-11-22 22:44 +1100
  Re: Method chaining Peter Otten <__peter__@web.de> - 2013-11-22 13:08 +0100
    Re: Method chaining Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-11-22 14:26 +0000
      Re: Method chaining Peter Otten <__peter__@web.de> - 2013-11-22 16:20 +0100
        Re: Method chaining Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-11-22 16:26 +0000
          Re: Method chaining Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de> - 2013-11-22 16:52 +0000
          Re: Method chaining Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de> - 2013-11-22 17:55 +0000
      Re: Method chaining Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-11-22 16:38 +0100
      Re: Method chaining Laszlo Nagy <gandalf@shopzeus.com> - 2013-11-23 17:08 +0100
  Re: Method chaining Terry Reedy <tjreedy@udel.edu> - 2013-11-22 07:34 -0500
    Re: Method chaining Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-11-22 14:30 +0000
  Re: Method chaining Rotwang <sg552@hotmail.co.uk> - 2013-11-23 19:53 +0000
    Re: Method chaining Rotwang <sg552@hotmail.co.uk> - 2013-11-24 00:28 +0000
      Re: Method chaining Rotwang <sg552@hotmail.co.uk> - 2013-11-24 00:43 +0000
    Re: Method chaining Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-11-24 14:27 +0000
      Re: Method chaining Rotwang <sg552@hotmail.co.uk> - 2013-11-24 15:01 +0000

csiph-web