On Jan 3, 9:15 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
> I have a class that derives from Exception.  In Python 2.4,
> isinstance(MyClass(), types.InstanceType) was True.  In 2.5, it's
> False.
>
> Further experimentation showed that derivation from object was the
> culprit; new-style objects are not considered "instances" in the above
> sense.  I wasn't able to figure out a workaround.

IIRC, this is because since 2.5 Exception is a new style class.  New
style objects are instances of their class, not of InstanceType as was
the case with instances of old-style classes.  So in your case
isinstance(MyClass(), Exception) will return True.

> Is there one, or is
> the distinction between traditional classes and built-in types only
> going to get more and more hazy?

I'm not sure what you mean here.

--
Arnaud

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

Reply via email to