[Python-Dev] Features for Python 2.0
Thomas Wouters
thomas@xs4all.net
Tue, 25 Jul 2000 15:20:44 +0200
On Tue, Jul 25, 2000 at 04:00:07PM +0300, Moshe Zadka wrote:
> OK, here's a possible confusion point in augmented assignments:
> Sometimes
> c = a
> a += b
> assert a is c
> fails, and sometimes not, depending on a's type. This is just begging
> for trouble. Maybe it will cause massive confusion, maybe it won't. I know
> I'll usually be wary of using it.
In my very honest opinion, that's overstating it a bit. It isn't much more
confusing than the failure of
c = a + b
assert c is a + b
for some types, but not for others. Not to mention that
a + b
can produce an entirely different object than
b + a
depending on the types. Now, how's that for confusing ! Has anyone ever seen
a problem caused by that ? I haven't, and I doubt the augmented assignment
is going to cause such problems. I *have* seen something like this:
c = a.extend(b)
Though that was a real silly mistake on the programmers part, and hasn't
repeated itself.
All in all, the only way we are really going to spot these pitfalls,
realistic or not, is by *using* the new syntax, and letting 'newbies' use
it.
--
Thomas Wouters <thomas@xs4all.net>
Hi! I'm a .signature virus! copy me into your .signature file to help me spread!