[Python] Dubbio

Fabio Giudici ciccio95 a smartsoft.it
Lun 20 Giu 2011 23:21:44 CEST


Il 21/06/2011 00:36, Manlio Perillo ha scritto:
> Il 20/06/2011 17:48, Fabio Giudici ha scritto:
>> Salve,
>> ho appena iniziato a studiare Python, utilizzo il manuale: "Pensare da
>> informatico, Imparare con Python" però avrei dei dubbi e vorrei dei
>> chiarimenti su alcuni punti.
>> Questi argomenti poco chiari a me sono: il comando raw_input,
>> l'incapsulamento e la generalizzazione...
> Hai letto la documentazione della funzione raw_input?
Si la documentazione l'ho letta..riguardo a questo su Python 3.2 in 
Ubuntu mi segnala errore
> Dall'interprete puoi anche fare:
>>>> help(raw_input).
> La funzione è chiamata raw_input, perchè esiste una funzione chiamata
> input che non solo legge una stringa dallo standard input, ma la valuta
> pure (di nuovo, leggi la documentazione, insieme a quella della funzione
> eval).
>
> La funzione input viene spesso sconsigliata per motivi di sicurezza,
> dato che può eseguire codice arbitrario;
> http://web.archiveorange.com/archive/v/5H3d1E9kZP30yPTGM5EV
> Per quanto riguarda l'incapsulamento, è un argomento lungo.
> Eccoti un assaggio:
>
> def make_counter(counter=0):
>      # Adapted from ANSI Common Lisp example in chapter 6.5, page 108
>      def reset():
>          nonlocal counter
>
>          counter = 0
>          return counter
>
>      def stamp():
>          nonlocal counter
>
>          counter = counter + 1
>          return counter
>
>      return reset, stamp
>
> reset, stamp = make_counter()
> print (stamp(), stamp(), reset(), stamp())
>
>
> Per incrementare il contatore, puoi solo utilizzare le funzioni esposte.
>
> Richiede Python 3.x.
>
>
> La generalizzazione è un argomento ancora più vasto...
>
>
>
> Ciao  Manlio

> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
Ecco anche se l'esempio non l'ho ben capito perchè lo reputo un po' 
troppo difficile il programma funziona..



Maggiori informazioni sulla lista Python