----Messaggio originale----
Da: [email protected]
Data: 10/09/2012 15.14
A: <[email protected]>
Ogg: R: Re: [Python] Richiamare funzione componendo il nome




----Messaggio originale----
Da: [email protected]
Data: 10/09/2012 13.58
A: "[email protected]"<[email protected]>, "Discussioni generali sul 
linguaggio Python"<[email protected]>
Ogg: Re: [Python] Richiamare funzione componendo il nome





Il giorno 10 settembre 2012 12:47, [email protected] <[email protected]> ha 
scritto:

Salve, non so se si è capito il mio problema dall' oggetto del messaggio. Cmq
quello che voglio fare è richiamare una funzione esistente componendo il suo
nome.
Posto il codice.

def sequenza_domande():
    for n in ncasuali[:]: #lista riempita precedentemente con dei numeri
casuali
        "domanda_"+str(n)+"()" # richiamo una funzione componendo il nome

il problema è che non considera la chiamata.
C'è qualcuno che può aiutarmi?

oltre a quello che ti è già stato suggerito, puoi considerare di usare anche 
getattr dopo aver importato il modulo in cui è definita la funzione (codice non 
testato!):

m = __import__(__name__)
f = getattr(m, "domanda_"+str(n))

e poi chiami la funzione con:

f()

ciao,
Marco



Grazie Marco
con questo metodo è andato tutto liscio come l'olio, effettivamente richiama 
l'attributo nome, ed è molto utile perchè nel mio caso evito di fare uno switch 
con if..elif..else per esempio per 100 domande.








_______________________________________________
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python

Rispondere a