Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #104009
| From | Erik <python@lucidity.plus.com> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | Re: Continuing indentation |
| Date | 2016-03-04 01:06 +0000 |
| Message-ID | <mailman.175.1457053789.20602.python-list@python.org> (permalink) |
| References | (2 earlier) <mailman.120.1456956006.20602.python-list@python.org> <871t7sbkex.fsf@elektro.pacujo.net> <nb9o0o$ndv$1@reader1.panix.com> <87vb53se36.fsf@elektro.pacujo.net> <56d8d33d$0$1585$c3e8da3$5496439d@news.astraweb.com> |
On 04/03/16 00:13, Steven D'Aprano wrote:
> class C:
> def method(self):
> if (result is None
> or self.some_condition()
> or len(some_sequence) > 100
> or some_other_condition
> or page_count < 5
> ):
> do_processing()
>
> Looks fine to me.
Indeed. I don't understand why, when splitting a condition such as this,
people tend to put the operator at the end of each line.
In C, I also prefer (a style copied from an old colleague of mine who
had lots of strange ideas, but I liked this one ;)) -
if ( long_condition
&& other_long_condition
&& (another_long_condition
|| yet_another_long_condition)
|| some_other_condition) {
process();
}
I just find that so much easier to grok than:
if (long_condition &&
other_long_condition &&
(another_long_condition ||
yet_another_long_condition) ||
some_other_condition) {
process();
}
Also, it sort of lays out just what the short-circuit evaluation is
going to do, so when those long conditions are /actually/ long and
require a bit of mental parsing, you can scan the left hand side of the
code and not have to read most of it as you work out which conditions
may be true. With the second form, you have to parse every line to work
out if the operator at the end is a top-level operator or part of a
sub-condition.
E.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Continuing indentation Skip Montanaro <skip.montanaro@gmail.com> - 2016-03-02 14:43 -0600
Re: Continuing indentation Marko Rauhamaa <marko@pacujo.net> - 2016-03-02 22:50 +0200
Re: Continuing indentation Ethan Furman <ethan@stoneleaf.us> - 2016-03-02 14:01 -0800
Re: Continuing indentation Marko Rauhamaa <marko@pacujo.net> - 2016-03-03 00:10 +0200
Re: Continuing indentation Skip Montanaro <skip.montanaro@gmail.com> - 2016-03-02 16:44 -0600
Re: Continuing indentation Ethan Furman <ethan@stoneleaf.us> - 2016-03-02 14:51 -0800
Re: Continuing indentation Ethan Furman <ethan@stoneleaf.us> - 2016-03-02 14:56 -0800
Re: Continuing indentation Chris Angelico <rosuav@gmail.com> - 2016-03-03 10:46 +1100
Re: Continuing indentation Steven D'Aprano <steve@pearwood.info> - 2016-03-03 13:15 +1100
Re: Continuing indentation John Gordon <gordon@panix.com> - 2016-03-03 16:16 +0000
Re: Continuing indentation Marko Rauhamaa <marko@pacujo.net> - 2016-03-03 18:47 +0200
Re: Continuing indentation Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2016-03-03 18:06 +0000
Re: Continuing indentation Marko Rauhamaa <marko@pacujo.net> - 2016-03-03 21:36 +0200
Re: Continuing indentation Steven D'Aprano <steve@pearwood.info> - 2016-03-04 11:13 +1100
Re: Continuing indentation INADA Naoki <songofacandy@gmail.com> - 2016-03-04 09:45 +0900
Re: Continuing indentation Erik <python@lucidity.plus.com> - 2016-03-04 01:06 +0000
Re: Continuing indentation INADA Naoki <songofacandy@gmail.com> - 2016-03-04 10:23 +0900
Re: Continuing indentation Steven D'Aprano <steve@pearwood.info> - 2016-03-04 14:48 +1100
Re: Continuing indentation cl@isbd.net - 2016-03-04 10:12 +0000
Re: Continuing indentation alister <alister.ware@ntlworld.com> - 2016-03-04 14:03 +0000
Re: Continuing indentation Ian Kelly <ian.g.kelly@gmail.com> - 2016-03-04 08:25 -0700
Re: Continuing indentation Ethan Furman <ethan@stoneleaf.us> - 2016-03-04 09:36 -0800
Re: Continuing indentation sohcahtoa82@gmail.com - 2016-03-04 13:14 -0800
Re: Continuing indentation Mark Lawrence <breamoreboy@yahoo.co.uk> - 2016-03-04 21:20 +0000
Re: Continuing indentation Erik <python@lucidity.plus.com> - 2016-03-04 23:31 +0000
Re: Continuing indentation Mark Lawrence <breamoreboy@yahoo.co.uk> - 2016-03-04 23:45 +0000
Re: Continuing indentation Ethan Furman <ethan@stoneleaf.us> - 2016-03-04 15:53 -0800
Re: Continuing indentation Simon Ward <simon+python@bleah.co.uk> - 2016-03-05 00:23 +0000
Re: Continuing indentation sohcahtoa82@gmail.com - 2016-03-04 17:17 -0800
Re: Continuing indentation Ethan Furman <ethan@stoneleaf.us> - 2016-03-04 18:14 -0800
Re: Continuing indentation Ben Finney <ben+python@benfinney.id.au> - 2016-03-05 13:22 +1100
Re: Continuing indentation Tim Chase <python.list@tim.thechases.com> - 2016-03-04 20:49 -0600
Re: Continuing indentation srinivas devaki <mr.eightnoteight@gmail.com> - 2016-03-05 10:25 +0530
Re: Continuing indentation Ben Finney <ben+python@benfinney.id.au> - 2016-03-05 16:10 +1100
Re: Continuing indentation Erik <python@lucidity.plus.com> - 2016-03-05 00:52 +0000
Re: Continuing indentation Ben Finney <ben+python@benfinney.id.au> - 2016-03-05 12:05 +1100
Re: Continuing indentation Erik <python@lucidity.plus.com> - 2016-03-05 01:45 +0000
Re: Continuing indentation Steven D'Aprano <steve@pearwood.info> - 2016-03-05 18:17 +1100
Re: Continuing indentation alister <alister.ware@ntlworld.com> - 2016-03-04 13:59 +0000
Re: Continuing indentation Ben Finney <ben+python@benfinney.id.au> - 2016-03-05 10:41 +1100
Re: Continuing indentation sohcahtoa82@gmail.com - 2016-03-04 16:06 -0800
Re: Continuing indentation Ben Finney <ben+python@benfinney.id.au> - 2016-03-05 11:30 +1100
Re: Continuing indentation Ethan Furman <ethan@stoneleaf.us> - 2016-03-04 17:01 -0800
Re: Continuing indentation Erik <python@lucidity.plus.com> - 2016-03-04 02:24 +0000
Re: Continuing indentation Marko Rauhamaa <marko@pacujo.net> - 2016-03-04 08:28 +0200
Re: Continuing indentation codewizard@gmail.com - 2016-03-02 15:46 -0800
Re: Continuing indentation Chris Angelico <rosuav@gmail.com> - 2016-03-03 10:54 +1100
Re: Continuing indentation Pete Forman <petef4+usenet@gmail.com> - 2016-03-03 00:23 +0000
Re: Continuing indentation Carl Meyer <carl@oddbird.net> - 2016-03-02 17:02 -0700
Re: Continuing indentation Steven D'Aprano <steve@pearwood.info> - 2016-03-03 13:22 +1100
Re: Continuing indentation Ben Finney <ben+python@benfinney.id.au> - 2016-03-03 13:30 +1100
Re: Continuing indentation Chris Angelico <rosuav@gmail.com> - 2016-03-03 13:33 +1100
Re: Continuing indentation Ethan Furman <ethan@stoneleaf.us> - 2016-03-02 18:57 -0800
Re: Continuing indentation Ben Finney <ben+python@benfinney.id.au> - 2016-03-03 11:30 +1100
Re: Continuing indentation cl@isbd.net - 2016-03-03 10:22 +0000
csiph-web