why is this invalid b = a += b ?
MRAB
google at mrabarnett.plus.com
Sat Jan 24 18:36:55 EST 2009
Stef Mientki wrote:
> hello,
>
> I can assign a value to more than 1 variable (name) in one line:
>
> a = b = 3
>
> So evaluation of this line must start at the right part.
>
> But the following is not allowed:
>
> b = 2
> a = b += 1
>
> I would think that if b has a value, and the formula is evaluated
> from right to left, there's nothing wrong with the above formula.
>
Assignment is a statement, not an expression. That's why:
if a = 0:
...
is illegal.
However, simple serial assignment such as:
a = b = 3
is useful enough to be supported as a special case.
More information about the Python-list
mailing list