[Python-Dev] Semantic of isinstance
Martin Maly
Martin.Maly at microsoft.com
Tue Jun 27 05:04:41 CEST 2006
Thanks for the response. The code snippet I sent deals with new style classes only so I assume that in some cases isinstance falls back to old-style-like handling which then asks for __bases__ and __class__ etc, possibly incorrectly so on new style classes.
Thanks again!
Martin
-----Original Message-----
From: Greg Ewing [mailto:greg.ewing at canterbury.ac.nz]
Sent: Monday, June 26, 2006 8:00 PM
To: Martin Maly
Cc: python-dev at python.org
Subject: Re: [Python-Dev] Semantic of isinstance
Martin Maly wrote:
>>>>isinstance(D(), D)
>
> True
>
>>>>isinstance(D(), C)
>
> D.getclass
> True
This looks like a new/old class thing. Presumably once
everything is changed over to new-style classes, this
inconsistency will go away. And from the current behaviour,
it looks like __class__ and __bases__ will be bypassed
by isinstance() (unless Guido decides to change that).
--
Greg Ewing, Computer Science Dept, +--------------------------------------+
University of Canterbury, | Carpe post meridiem! |
Christchurch, New Zealand | (I'm not a morning person.) |
greg.ewing at canterbury.ac.nz +--------------------------------------+
More information about the Python-Dev
mailing list