[Python] Richiamare funzione componendo il nome

Marco De Paoli depaolim a gmail.com
Lun 10 Set 2012 13:58:05 CEST


Il giorno 10 settembre 2012 12:47, tonino73 a libero.it
<tonino73 a libero.it>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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120910/df4abd26/attachment.html>


Maggiori informazioni sulla lista Python