[EMAIL PROTECTED] wrote: > Is there somthing wrong????
Kids today, don't they learn about inheritence? :-) Python's object model is that instances inherit both methods and attributes from the class (and superclasses). Methods are just a special case of attributes: the method is a callable attribute. When you reference an attribute, Python first checks the instance by looking up instance.__dict__, and if that fails, it looks up instance.__class__.__dict__. (This is a simplification, e.g. it isn't exactly true for objects with slots.) For attribute lookup (that is, the attribute reference is on the right hand side of an assignment), the lookup may fail and so the class attribute may be retrieved. This is by design. For attribute assignment (that is, the attribute reference is on the left hand side of an assignment), the assignment will never fail. (Again, ignoring slots and any other special cases I have't thought of.) -- Steven. -- http://mail.python.org/mailman/listinfo/python-list