[EMAIL PROTECTED] wrote:

Or one could adopt what Terry Reedy called a
4-aspect view: an object is identity, class,
value (or local-state or something) and
intrinsic-value.

What I specifically said is id, class, instance attributes, and private data. So objects have only one, some only the other, some both, and some neither. I also noted that the boundary between properties and instance methods of the class and attributes of the instance is somewhat flexible.

I think the important point is this. In Python, objects are self-identifying bundles of information, which is to say, the bundle includes knowledge of the which universe of possible bundles the object comes from, where the universe includes a set of operations. This is sometimes called RTTI -- run-time type information. This is in contrast to other languages and signal-processors where information (bit-patterns) is usually *not* self-identifying, but the universe must be somehow enforced by a compiler or carried in the context. In C, for instance, most types cannot have RTTI and RTTI is only required for unions. Programmers can give structs a type field and that is how CPython implements PyObjects.

Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to