|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 4683
|
Python: chiarimento riguardo le variabili nelle funzioni
Ho sentito parlare molto di Python e ho deciso di provare con mano. Sto leggendo questa guida (questo che ho linkato è il capitolo dove sono arrivato) e c'è una cosa poco chiara. Questo per l'esattezza:
Quote:
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Sei in un capitolo abbastanza avanzato, che tratta il passaggio dei parametri e lo "scope".
Il concetto è che esistono due variabili a_var: una globale (definita all'esterno della funziona a_func) che vale 10 (e il cui valore NON verrà modificato; infatti, se ci fai caso, l'istruzione print "a_var = ",a_var che è subito dopo alla chiamata a funzione c_var = a_func(b_var) restituisce il valore 10 e non 15), e una definita all'interno di a_func che viene usata per memorizzare il valore passato come argomento ad a_func. Sono, quindi, due variabili completamente diverse. Dentro a_funct la SUA a_var ha valore 15 (ed è quello che viene visualizzato) proprio perché viene passato il valore 15 ad a_func come argomento (cioé quando viene eseguita l'istruzione c_var = a_func(b_var); qui b_var vale 15, e questo valore viene preso e memorizzato dentro la a_var che è contenuta in a_func). Spero di essere stato chiaro. Comunque ti consiglio questo http://www.python.it/doc/Howtothink/...l-it/index.htm libro per imparare a programmare in Python, che è fatto molto bene.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 4683
|
Credo di aver capito, non era spiegato molto bene nella guida. Ancora non ho guardato il link che mi hai dato, ma credo che in ogni caso mi convenga prima finire di studiare questo manuale e poi dare un'occhiata al link che mi hai dato tu
EDIT: provando a togliere c_var = a_func (b_var), mi stampa a video che il valore di c_var è 125, ma come è possibile? Togliendo questa riga di codice non dovrebbe esistere nessuna variabile c_var
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito. Ultima modifica di ~FullSyst3m~ : 23-01-2008 alle 19:20. |
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Infatti dovrebbe darti errore. A me lo dà, ricopiando esattamente quel testo e togliendo quella riga:
Codice:
>>> print "c_var = ",c_var c_var = Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'c_var' is not defined
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Thread chiuso
| V |
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:23.


















