Arnaud Delobelle
1/3/2008 9:31:00 PM
On Jan 3, 9:15 pm, "eef...@gmail.com" <eef...@gmail.com> 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