2016-05-30 21:16 GMT+01:00 Piacenza Federico <piacenza.feder...@gmail.com>:
> Aiutatemi per favore, proprio non capisco cosa sbaglio. > E' una faq... leggiti la PEP8. Detto questo, secondo me devi chiarirti come funziona l'assegnamento (e il passaggio di parametri) in Python... 0. cosa stampa esattamente (ovvero, quante volte stampa 'called g') questo programma? def g(): print 'called g' return [] def f(b=g()): b.append(1) g() g() 1. secondo te cosa fa a = [] b = a a.append(1) print b 2. secondo te cosa fa def f(b): b.append(1) a = [] f(a) print a 3. cosa fa a = [] def f(b=a): b.append(1) f(a) print a 4. perche' 3 dovrebbe essere diverso da 2? 5. perche' 3. dovrebbe essere diverso da def f(b=[]): b.append(1) f() ... eh... non so come fartelo printare (senza cambiare l'eserczio o fare dei magheggi che non vuoi vedere). Beh, dai, se siamo arrivati fin qui... sappiamo che l'oggetto che e' stato passato ad f quando l'abbiamo invocata (senza argoment) sara' [1, ]. E guarda 0... -- . ..: -enrico-
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python