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@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..

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a