Klasseninstanz dynamisch erzeugen
Verfasst: Donnerstag 16. Februar 2012, 13:36
Hallo,
in der Doku und im Netz habe ich nicht entsprechendes gefunden:
Ich möchte eine Klasseninstanz abhängig vom übergebenden Datentyp dynamisch erzeugen. In etwa so:
Der Code ist natürlich falsch. __init__ erlaubt kein "return". Wie geht es richtig?
Gruß
in der Doku und im Netz habe ich nicht entsprechendes gefunden:
Ich möchte eine Klasseninstanz abhängig vom übergebenden Datentyp dynamisch erzeugen. In etwa so:
Code: Alles auswählen
class BaseClass:
def __init__(self,test):
if isinstance(test,float):
return DerivedClass1(test)
elif isinstance(test,complex):
return DerivedClass2(test)
class DerivedClass1(BaseClass):
def __init__(self,test):
print "Ich bin Derived 1"
class DerivedClass2(BaseClass):
def __init__(self,test):
print "Ich bin Derived 2"
#main
x = BaseClass(2.)
y = BaseClass(2+1j)
Gruß