[Python-Dev] SyntaxError: can't assign to function call

Georg Brandl g.brandl at gmx.net
Wed Aug 9 22:33:21 CEST 2006


Terry Reedy wrote:
> "Neal Becker" <ndbecker2 at gmail.com> wrote in message 
> news:ebd2sp$nnv$1 at sea.gmane.org...
>> class X (object):
>>    pass
>>
>> X() += 2
>>
>>> SyntaxError: can't assign to function call
>>
>> Suppose I actually had defined __iadd__ for class X.  Python says this
>> syntax is invalid.  I wish is wasn't.
> 
> If you translate to x() = x() +2, with x called just once, it does not make 
> sense.  You can bind to names and slots in compound objects, but not to 
> objects.

This is similar to

x = ([1], 2)
x[0] += [2]

which doesn't currently work either, though it could.

Georg



More information about the Python-Dev mailing list