On 08/30/2012 06:55 AM, 陈伟 wrote: > when i write code like this: > > class A(object): > > d = 'it is a doc.' > > > t = A() > > print t.__class__.d > print t.d > > the output is same. > > so it means class object's attribute is also the instance's attribute. is it > right? i can not understand it.
In your example, you have no instance attribute. So when you use the syntax to fetch one, the interpreter looks first at the instance, doesn't find it, then looks in the class, and does. That is documented behavior. Some people use it to provide a kind of default value for instances, which can be useful if most instances need the same value, but a few want to overrride it. -- DaveA -- http://mail.python.org/mailman/listinfo/python-list