On 8/9/06, Georg Brandl <g.brandl at gmx.net> wrote: > 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. No it couldn't. You can't assign to x[0]. L += R is defined as L = L.__iadd__(R) so L must be a valid assignment target. -- --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4