First you need to subclass the classes so that Dog actually is a subclass of Animal which is a subclass of thing...
class Thing: pass class Animal(Thing): pass class Dog(Animal): pass class Weapon(Thing): pass class Gun(Weapon): pass Then you can use 'isinstance' >>>d = Dog() >>>isinstance(d,Thing) True >>>isinstance(d,Animal) True >>>isinstance(d,Weapon) False >>>isinstance(d,Gun) False -- http://mail.python.org/mailman/listinfo/python-list