Il giorno 17/mag/2013, alle ore 23:52, Gollum1 <gollum1.smeag...@gmail.com> ha scritto:
> per la maggiore dovrebbe trattarsi di valori di variabili che vengono > impostate in funzione degli argomenti passati dalla riga di comando. Come regola generale utilizzo una classe primaria da cui genero un istanza che sarà la mia radice. A questa poi andrò ad 'appendere gli altri oggetti di altre classi che eventualmente mi servissero e via dicendo. Ho messo qualche metodo stupido e ti suggerisco di vedere come l'uso di una property ti consenta di fare cose carine come calcolare una sola volta e poi cachare dei dati. Il vantaggio di questo approccio è, a mio avviso, il fatto che nel namespace globale metti una sola referenza (in questo caso 'root') e tutto si dirama da lì. Qui parliamo di python ma in javascript, ad esempio, per non creare conflitti con altre librerie il fatto di avere un'unica referenza, magari con un nome molto originale, ti garantisce da possibili collisioni. class MiaClasseBellissima(object): def __init__(self,par1=None,par2=None...) self.par1=par1 self.par2=par2 ..... ..... def faiQuesto(self): if self.par1==0: ..... self.datoCarino= self.preparaDatoCarino(self.par2,....) k = self.mioDatoLazy(self.datoCarino) ..... def faiQuello(self): ..... def preparaDatoCarino(self): ..... @property def mioDatoLazy(self): if not hasattr(self,'_mioDatoLazy): self._mioDatoLazy=self.preparaMioDatoLazy() return self._mioDatoLazy def self.preparaMioDatoLazy(self): mioGrossoDizionario=dict() #fa un bel lavoro che va fatto solo una volta per riempire mioGrossoDizionario return mioGrossoDizionario if __name__=='__main__': #ottengo parametri root= MiaClasseBellissima(parametri) Non so se è il modo migliore ma io mi ci sono sempre trovato benone... Ciao G. _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python