Get the name of the superlcass?
Remco Gerlich
scarblac-spamtrap at pino.selwerd.nl
Thu Jul 20 03:56:02 EDT 2000
More information about the Python-list mailing list
Thu Jul 20 03:56:02 EDT 2000
- Previous message (by thread): Locating Python modules
- Next message (by thread): Get the name of the superlcass?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Thomas Weholt wrote in comp.lang.python: > I`m subclassing from a superclass. I can get the name of the subclass > by using Subclass.__class__.name. But I would like to get the name of > the superclass as well, but not lose the option of getting the > subclass either. > > Ex. I got a class Structure, and a sublcass Building. I want to check > in a list for structures, then see if any of them are buildings. Use isinstance(). isinstance(object, class) is 1 if the object is an instance of the class or one of its subclasses. class Structure: pass class Building(Structure): pass generic_structue = Structure() some_building = Building() Now isinstance(some_building, Structure) == 1 isinstance(some_building, Building) == 1 isinstance(generic_structure, Structure) == 1 isinstance(generic_structure, Building) == 0 If you want to know the superclasses of a class, use class.__bases__ (like Building.__bases__[0].__name__ == "Structure"). But using isinstance is probably better. -- Remco Gerlich, scarblac at pino.selwerd.nl 9:54am up 135 days, 22:03, 6 users, load average: 0.40, 0.19, 0.12
- Previous message (by thread): Locating Python modules
- Next message (by thread): Get the name of the superlcass?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list