[Python] Stralcio di codice al volo

Marco Beri marcoberi a gmail.com
Ven 11 Feb 2011 10:56:00 CET


2011/2/11 Vittorio Zuccala' <vittorio.zuccala a gmail.com>

> Buongiorno a tutti,
> ho un problemino che non so come affrontare..
> Ho una classe con due metodi che a breve potrebbero crescere di numero.
> A seconda del parametro passato in __init__, la classe deve avviare un
> metodo anzichè un altro.
> All'inizio ho pensato ad utilizzare un IF ma se il numero di metodi cresce
> diventerebbe difficile da gestire...
>
> C'è un modo per dire: "eseguimi la funzione che ha il nome del parametro
> passato"?
>
> Di seguito uno stralcio di codice...
>
> class Campi(object):
>    def __init__(self, parametro):
>       #qualcosa che gli dica: se parametro è pippo lancia pippo, se è pluto
> lancia pluto e così via.
>
>    def pluto(self):
>       # fai qualcosa
>
>    def pippo(self):
>       # fai qualcosa di altro
>


getattr(self, parametro)()

-- 
http://thinkcode.tv/gratis - Capire in 15 minuti cosa può fare Python
http://stacktrace.it - Aperiodico di resistenza informatica
http://python.thinkcode.tv - Videocorso di Python
http://beri.it - Blog di una testina di vitello
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20110211/83ed3a6f/attachment-0001.html>


Maggiori informazioni sulla lista Python