Is types.InstanceType no longer valid with Python 2.2
Georg Lohrer
GeorgLohrer at gmx.de
Sat Jan 5 08:29:34 EST 2002
On Fri, 4 Jan 2002 18:09:12 +0100, "Alex Martelli" <aleax at aleax.it>
wrote:
>"Georg Lohrer" <GeorgLohrer at gmx.de> wrote in message
>news:43293uk34r6dgn5vgel7j0uiekhg6jp0no at 4ax.com...
> ...
>> If the passed variable is an instance of a class, the __dict__ entries
>> will be examined by calling the algorithm again. Lists and
>> dictionaries have to be handled in a different manner.
>
>So what do you want to do if the passed variable is an instance of
>a class (with its own __dict__ or __slots__) AND is a list or dictionary
>too?
>
>class fooledyou(list):
> def __init__(self, *any):
> list.__init__(self, *any)
> self.also = 'an attribute'
>
>This is Python 2.2, and indeed the key improvement out of all the
>many ones that are in 2.2 over 2.1. "Being a class's instance",
>"having a __dict__", and "being a list" (or dict) are not mutually
>exclusive any more.
>
>So, you probably need to re-think your approach.
After having a look at the code you mentioned, their seems no way to
differ between instances of class-objects and all other built-in types
using something like the already mentioned types.InstanceType.
So, I really have to change the algorithm and check for other
indicators than to that one.
Thank you and all the others for information,
Ciao, Georg
More information about the Python-list
mailing list