[Python] Dubbio
Manlio Perillo
manlio_perillo a libero.it
Lun 20 Giu 2011 20:51:09 CEST
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?
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
Maggiori informazioni sulla lista
Python