Two-Dimensional Expression Layout
cs at zip.com.au
cs at zip.com.au
Sat Aug 20 18:34:45 EDT 2016
On 19Aug2016 16:11, Lawrence D’Oliveiro <lawrencedo99 at gmail.com> wrote:
>On Saturday, August 20, 2016 at 10:38:34 AM UTC+12, Chris Angelico wrote:
>> On Sat, Aug 20, 2016 at 8:31 AM, Lawrence D’Oliveiro wrote:
>>> There is no short-cut evaluation when constructing tuples and lists.
>>
>> I'm not sure how that would make difference in these examples. The
>> three parts are independent - the one place where short-circuiting is
>> important is indeed short-circuited.
>
>That often is not the case, e.g. <https://github.com/ldo/qahirah/blob/master/qahirah.py>:
>
> assert \
> (
> len(self.points) == 0
> or
> not self.points[0].off
> and
> (closed or not self.points[-1].off)
> )
Aye, but beware that the expression is actually correct for the indentation.
Compare:
assert \
(
len(self.points) == 0
and
not self.points[0].off
or
(closed or not self.points[-1].off)
where the precedence causes the layout to mislead.
I'm not arguing against indented spread out layout here, I use it myself, but
just mentioning that the human eye will tend to take the visual layout over a
strict parse. So care is needed, as in all programming.
Cheers,
Cameron Simpson <cs at zip.com.au>
More information about the Python-list
mailing list