"my brain hurts" or is isinstance broken?
Delaney, Timothy
tdelaney at avaya.com
Wed Jul 3 19:50:25 EDT 2002
> From: robert_kuzelj at yahoo.com [mailto:robert_kuzelj at yahoo.com]
> >
> > if isinstance(source, type) or
> > isinstance(source, types.ClassType):
> > return source()
> > else:
> > return copy.copy( source )
>
> that is exactly what i did. but i dont like this solution cause
> as i told before it is rather implicit than explicit.
What is implicit about it? It is explicitly saying "if it's a new-style
class or an old-style class".
Perhaps the following would suit you better ...
def isoldstyleclass (obj):
import types
return isinstance(obj, types.ClassType)
def isnewstyleclass (obj):
return isinstance(obj, type)
def isclass (obj):
return isnewstyleclass(obj) or isoldstyleclass(obj)
if isclass(source):
return source()
else:
return copy.copy(source)
Tim Delaney
More information about the Python-list
mailing list