Eine Klasse Unterklasse von sich. Warum ist gegenseitiges Unterteilen verboten?

Komplexe Frage, nehme ich an, aber das Studium der OWL eröffnete eine neue Perspektive für das Leben, das Universum und alles. Ich gehe hier philosophisch.

Ich versuche eine Klasse C zu erreichen, die Unterklasse von B ist, die wiederum Unterklasse von C. Nur zum Spaß, wissen Sie ...

Hier ist es also

>>> class A(object): pass
... 
>>> class B(A): pass
... 
>>> class C(B): pass
... 
>>> B.__bases__
(<class '__main__.A'>,)
>>> B.__bases__ = (C,)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: a __bases__ item causes an inheritance cycle
>>> 

Natürlich ist Python schlau und verbietet dies. In OWL ist es jedoch möglich, zwei Klassen als gegenseitige Unterklassen zu definieren. Die Frage ist: Was ist die irrsinnige Erklärung, warum dies in OWL (das keine Programmiersprache ist) erlaubt und in Programmiersprachen nicht erlaubt ist?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage