Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #63041
| From | Terry Reedy <tjreedy@udel.edu> |
|---|---|
| Subject | Re: Ifs and assignments |
| Date | 2014-01-03 03:53 -0500 |
| References | <52C59FF6.5000607@allsup.co> <52C5BD90.9020609@islandtraining.com> <52C5DDA6.5090207@allsup.co> <52C60AF6.8060004@islandtraining.com> <la5390$9s8$2@ger.gmane.org> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.4840.1388739251.18130.python-list@python.org> (permalink) |
On 1/2/2014 8:20 PM, Mark Lawrence wrote:
> On 03/01/2014 00:57, Gary Herron wrote:
>> On 01/02/2014 01:44 PM, John Allsup wrote:
>>> The point of my original post was that, whilst C's
>>> if( x = 2 ) { do something }
>>> and
>>> if( x == 2 ) { do something }
>>> are easy to confuse, and a source of bugs, having a construct like
>>> follows:
>>>
>>> if x == 2:
>>> do something # what happens at present
>>> if testFunc() as x:
>>> do something with x
>>>
>>> using the 'as' syntax that appears with 'with' and 'except', would allow
>>> for the advantages of C style assignments in conditionals but without
>>> the easy confusion, since here the syntax is significantly different
>>> between assignment and equality testing (rather than a character apart
>>> as happens with C).
>>>
>>> This occurs further down in my original post (past the point where you
>>> inserted your reply).
>>>
>>> Another post suggested a workaround by defining a 'pocket' class, for
>>> which I am grateful.
>>>
>>> John
>>
>> Sorry. I shot off my answer before reading the whole post. That's
>> never a good idea.
>>
>>
>> After reading to the end, I rather like your suggestion. It works well
>> in your example, , nicely avoids the C/C++ trap, and has some
>> consistency with other parts of Python.
>>
>> Gary Herron
>>
>>
>
> I liked the look of this as well. It ought to go to python ideas, or
> has it been suggested there in the past?
Yes, and rejected (I am quite sure). Consistency would 'demand' at least
"while expr as target" and possibly "for i in iterable_expr as target".
--
Terry Jan Reedy
Back to comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: Ifs and assignments Terry Reedy <tjreedy@udel.edu> - 2014-01-03 03:53 -0500
csiph-web