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