[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