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


Groups > comp.lang.python > #67948

Re: Ternary operator associativity

Date 2014-03-06 12:59 -0600
From Tim Chase <python.list@tim.thechases.com>
Subject Re: Ternary operator associativity
References <f3bd8da6-dc2e-4b05-b50b-3a2c9d825367@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.7872.1394132381.18130.python-list@python.org> (permalink)

Show all headers | View raw


On 2014-03-06 03:34, candide wrote:
> According to the official documentation, the ternary operator has
> left-to-right associativity 
>
> >>> left_to_right = (0 if 1 else 0) if 0 else 1
> >>> right_to_left = 0 if 1 else (0 if 0 else 1)

I'd never want to rely on my own ability to remember the language
spec, so I strongly advocate for making it explicit with parens
regardless of what the language defines.  And that's if I ever created
such a mess in the first place.  If you have more than one pair of
conditional expressions in a single assignment, I'd suggest that it's
a code-smell that could use refactoring for clarity/disambiguity.

-tkc



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


Thread

Ternary operator associativity candide <c.candide@laposte.net> - 2014-03-06 03:34 -0800
  Re: Ternary operator associativity Michael Torrie <torriem@gmail.com> - 2014-03-06 10:47 -0700
  Re: Ternary operator associativity Terry Reedy <tjreedy@udel.edu> - 2014-03-06 13:52 -0500
  Re: Ternary operator associativity Tim Chase <python.list@tim.thechases.com> - 2014-03-06 12:59 -0600
  Re: Ternary operator associativity Terry Reedy <tjreedy@udel.edu> - 2014-03-06 15:15 -0500

csiph-web