ich nicht verstehen kann, warum der folgende Code eine bestimmte Art und Weise verhält, die im Folgenden beschrieben wird: Warum tutPython Vererbung, metaclasses und Typ() Funktion
from abc import ABCMeta
class PackageClass(object):
__metaclass__ = ABCMeta
class MyClass1(PackageClass):
pass
MyClass2 = type('MyClass2', (PackageClass,), {})
print MyClass1
print MyClass2
>>> <class '__main__.MyClass1'>
>>> <class 'abc.MyClass2'>
repr(MyClass2)
sagt abc.MyClass2
(die übrigens nicht wahr)? Vielen Dank!
Die Projektstruktur scheint hier völlig irrelevant zu sein. Ich würde empfehlen, diesen Teil zu entfernen und alles als 1 Modul zu haben (das beschriebene Verhalten ist immer noch da). – mgilson
@mgilson Danke für die Kenntnisnahme, aktualisiert. –
Und, als eine Randnotiz, hält dieses Verhalten noch in python3.x (ich habe es gerade getestet) – mgilson