Is this a bug? >>> class C: ... a = 1 ... >>> c = C() >>> c.a 1 >>> del(c.a) Traceback (most recent call last): File "<stdin>", line 1, in ? AttributeError: C instance has no attribute 'a' >>> hasattr(c, 'a') 1 >>> I can see that maybe del(c.a) should not be allowed to delete the attribute, but I think the error message is misleading.