[Python-ideas] Combining test and assignment
Terry Reedy
tjreedy at udel.edu
Mon Jan 23 00:46:14 CET 2012
On 1/22/2012 7:04 AM, Paul Moore wrote:
> On 22 January 2012 04:51, Steven D'Aprano<steve at pearwood.info> wrote:
>> Assignment as an expression feels unnatural to me:
>>
>> if spam() as x != 'ham':
>> frobulate(x)
>>
>> doesn't really correspond to any natural English order.
The best I can come up with is "if x, which is the result of calling
'spam', is not equal to 'ham', then frobulate x". But I am not going to
call that 'natural' speech. More normal would be "Get the result of
spam(). If it it not 'ham', then frobulate it." As others noted, the
pronoun 'it' is a substitute for local names. But doing that for more
than one object or value gets awkward. "Get ham() and spam(). If the
first is less than the second, multiply the first by the second plus 3."
"Former' and 'latter' are another pair of standardized pronoun-like
names. The math device of temporary names is really handy.
--
Terry Jan Reedy
More information about the Python-ideas
mailing list