1) La classe TestSingletonHelper è una classe "interna" alla classe TestSingleton, ed ha il metodo __call__
__call__ viene chiamato quando chiami un oggetto callable, le classi sono "callable" dove per "callable" si intende SonoUnaClasse() (notare le parentesi). Nel caso specifico in questo pezzo di codice viene richiamato il __call__: # Create a class level method that must be called to # get the single instance of TestSingleton. getInstance = TestSingletonHelper() In tal modo TestSingletonHelper ritorna sempre la stessa istanza. Vedi http://docs.python.org/ref/callable-types.html#l2h-220
2) def __call__( self, *args, **kw ) : perchè a __call__ viene passato *args, **kw ? Cosa sono? a cosa servono e quando secondo voi vengono usati?
*args sono gli argomenti sotto forma di tupla, **kw sono gli argomenti aggiuntivi sotto forma di dict(). La spiegazione è da tutorial di Python ;-) http://docs.python.org/tut/node6.html#SECTION006700000000000000000 Parti da li fino al 4.7.4 (o magari leggiti tutto il tutorial che è meglio) -- Lawrence, oluyede.org - neropercaso.it "It is difficult to get a man to understand something when his salary depends on not understanding it" - Upton Sinclair
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python