I need to find out if an object is a class. Using new style classes this is very easy:
class Test(object): pass obj = Test or obj = Test() if type(obj) == type: # this is a class object.. else: # this not a class object But this fails for old style classes. For example: class OldStyleObject: pass >>> type(OldStyleObject) <type 'classobj'> But I have no way of comparing the return value to anything: >>> type(OldStyleObject) == classobj Error, classobj not defined! Since this is all duck typed, I have no idea what the class will be passed in as, so I can't just compare the raw object. I have a solution for this: if str(type(Test)).find('classobj') != -1: # this is a class object Which is quite simply awful...does anyone know of a better way to do this? -- http://mail.python.org/mailman/listinfo/python-list