[Python] trasformare una stringa in un nome di funzione.

Marco Beri marcoberi a gmail.com
Mar 25 Giu 2013 17:56:08 CEST


2013/6/25 Gollum1 <gollum1.smeagol1 a gmail.com>

> Il giorno 25/giu/2013 16:27, "Giovanni Porcari" <
> giovanni.porcari a softwell.it> ha scritto:
>
> > usare getattr(self, nome) ?
>
> Credo che questa sia la soluzione corretta... però non riuscivo a capire
> cher cosa mettere come app... in effetti non avevo provato con self...
>
> La situazione è la seguente:
>
> Le funzioni da richiamare sono nello stesso file del programma principale,
> anche la def che le chiama... quindi tutto si svolge in locale. Avevo
> provato con __main__ con e senza appici... ma non funzionava... appena
> posso provo con self.
>

Inutile provare. Il self non ha niente di speciale. È solo una (buona)
convenzione.

Se proprio non hai altra soluzione, usa globals():

def pippo():
    print "Eccomi!"

def pluto():
    globals()['pippo']()


Se chiami pluto() vedrai stampare "Eccomi!".

Ciao.
Marco.

http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130625/23fb32da/attachment.html>


Maggiori informazioni sulla lista Python