Für jede Klasse können Sie die (nicht-virtuellen) Oberklassen über das Attribut __mro__
und die (nicht virtuellen) Unterklassen durch Aufruf von __subclasses__
anweisen.Python: Howto die virtuellen Superklassen einer Klasse auflisten?
Für jedes ABC können Sie alle virtuellen Unterklassen über das Attribut _abc_registry
informieren.
Gibt es eine Möglichkeit, alle virtuellen Oberklassen einer Klasse zu benennen, d. H. Alle Klassen, für die sie als virtuelle Unterklasse registriert ist?
Nein, ich denke nicht, dass es eine andere Möglichkeit gibt, als alle Klassen, die jemals definiert wurden, aufzuzählen und zu überprüfen, ob es sich um virtuelle Unterklassen handelt. – ppperry
Mit "virtuelle Superklasse" meinen Sie abstrakte Basisklasse ...? Wenn ja, bearbeiten Sie vielleicht, so verwenden Sie konsistente Nomenklatur. –
Nein, ich meine nicht ABC im Allgemeinen, sondern nur diejenigen, für die die betreffende Klasse als virtuelle Unterklasse registriert ist (und die daher nicht in "__mro__" aufgeführt sind. –