2011/2/11 Vittorio Zuccala' <vittorio.zucc...@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
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a