On 5/24/2010 12:56 PM, Nathan Rice wrote:
I'm trying to do some fairly deep introspection and instrumentation of instances and classes at runtime, and in order for everything to be properly behaved I need to have radically different behavior in the event that the thing passed to me is a wrapped class/instance. Is there a really good way, given an instance of a class, to determine if it is wrapped or native? Currently I check to see if it has __slots__ then try to setattr a dummy variable but I imagine there is probably a cleaner way.
I am not sure what you mean by 'wrapped'. Your subject line says something different. In any case, is your universe *all* Python objects or some subset?
Builtin classes, named or not, do not have dotted names >>> 1 .__class__ <class 'int'> >>> class C: pass I believe all others do, including C-coded extension classes. >>> C().__class__ <class '__main__.C'> tjr -- http://mail.python.org/mailman/listinfo/python-list