[Python] Istanziare oggetti dinamicamente

Sbaush sbaush a gmail.com
Lun 16 Apr 2007 14:36:48 CEST


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?
In questa maniera otterrei una automatizzazione dell'istanziazione di
una classe, cosicchè cambiando il valore della stringa otterrei
l'istanza della classe con il nome della stringa...
Più o meno come si fa per l'import dinamico di __import__(), ma
orientato all'uso con gli oggetti.

Mi piacerebbe fare una cosa del genere:

theClass1 = 'MyClass'
theClass2 = 'MyClass2'
theClass1()
theClass2()

Non mi piacerebbe dover inserire controlli sulla stringa riguardanti
il suo contenuto, del tipo
if theClass1=='MyClass':
   MyClass()
if theClass2=='MyClass2':
   MyClass2()

Si è capito il mio problema?
Grazie Mille.

-- 
Marco Meoni
Sbaush


Maggiori informazioni sulla lista Python