The del statement

Arnaud Delobelle arnodel at googlemail.com
Thu May 8 02:58:57 EDT 2008



George Sakkis wrote:
> One of the few Python constructs that feels less elegant than
> necessary to me is the del statement. For one thing, it is overloaded
> to mean three different things:
> (1) del x: Remove x from the current namespace
> (2) del x[i]: Equivalent to x.__delitem__(i)
> (3) del x.a: Equivalent to x.__delattr__('a') (or delattr(x,'a'))

Note that the 'X = Y' construct has the corresponding three meanings:

(1) x = 4 # Bind x to 4 in the 'current namespace'
(2) x[i] = 4 # equivalent to x.__setitem__(i, 4)
(3) x.a = 4 # Equivalent to x.__setattr__('a', 4)

What conclusion should we draw from that?

--
Arnaud



More information about the Python-list mailing list