Sbaush ha scritto:
Ciao a tutti.
Ho un problema al quale non ho trovato una soluzione nonostante la
ricerca on web, e riguarda la creazione di istanze di classi
richiamandole attraverso variabili.
Mi spiego:
Ho una classe chiamata ad esempio MyClass e una MyClass2.
E' possibile istanziare la classe senza "conoscerne" il nome? Cioè se
ho una stringa con dentro il nome della classe, è possibile istanziare
la classe usando il nome dentro la stringa?

Si.
Se le definizioni delle classi sono in un unico modulo, puoi fare:
theClass1 = globals()['MyClass']

Un modo più corretto di procedere è creare un registro (che può essere un semplice dizionario) in cui registri le tue classi.

Ad esempio:

registry = {}
registry['MyClass'] = MyClass

...

theClass1 = globals()['MyClass']

> [...]


Saluti  Manlio Perillo
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a