Return value of an assignment statement?

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Fri Feb 22 07:29:41 EST 2008


On Thu, 21 Feb 2008 16:23:23 -0800, Jeff Schwab wrote:
> Steve Holden wrote:
[...]
>>>>         if m = pat.match(some_string):
>>>>             do_something(m)
>>>
>>> Yep, this is exactly what I am (was) trying to do. Oh well.... Any
>>> clever ideas on this front?
>>>
>> The syntax is the way it is precisely to discourage that kind of clever
>> idea. Of course, people nevertheless manage to work around the
>> restriction to try and make their Python read like some other language
>> they are more familiar with, and most of the time they get away with
>> it.
>> 
>> The fat remains that in programming there *is* such a thing as being
>> too clever, and Python's syntax deliberately discourages that.
> 
> This isn't "clever."  It's what most of us were taught, from the
> beginning, was best practice.  In some languages (including C and C++)
> the above is extremely common and perfectly acceptable.


Speak for yourself. *I* was never taught to abuse assignment by making it 
an expression, and in the languages I have used, it isn't.

I'm sorry that your programming ability has been permanently harmed by 
learning C at too early an age, but please don't imagine the rest of us 
suffer from this disability. *wink*


-- 
Steven



More information about the Python-list mailing list