Short, crazy example: list-derived class, with __iadd__ <- nevermind, me == idiot
Moon
no.email.here at zombo.com
Wed Aug 29 17:00:19 EDT 2007
More information about the Python-list mailing list
Wed Aug 29 17:00:19 EDT 2007
- Previous message (by thread): re compiled object result caching?
- Next message (by thread): Short, crazy example: list-derived class, with __iadd__
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
__iadd__ is supposed to /return/ something, most likely self. My bad. On Wed, 29 Aug 2007 20:49:59 +0000, Moon wrote: > class Vec(list): > def __init__(self): > list.__init__(self, [0.0, 0.0]) > > def __iadd__(self, other): > assert isinstance(other, Vec) > self[0] += other[0] > self[1] += other[1] > print "right now, v is: ", self, " as you'd expect" > > > v = Vec() > w = Vec() > w[0] = 1.0 > w[1] = 2.0 > print "v starts:", v > > print "(w is:", w, " which is fine)" > > v += w > > print "(w still is:", w > > print "after iadd, v: ", v, " <-- becomes None! What the hey?" > > > # - running it: > > py> python badvec.py > v starts: [0.0, 0.0] > (w is: [1.0, 2.0] which is fine) > right now, v is: [1.0, 2.0] > (w still is: [1.0, 2.0] > later, v is: None <-- becomes None! What the hey? > > py> python -V > Python 2.5.1 > > -- Any explanation from a guru? > > Thanks much...
- Previous message (by thread): re compiled object result caching?
- Next message (by thread): Short, crazy example: list-derived class, with __iadd__
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list