Forum >> Principianti >> Definizione variabili

Pagina: 1

Buonasera, scusate la domanda forse anche stupida...
Se io dichiaro una variabile dentro una def() è come non la dichiarassi ??

Devo per forza dichiararla nel corpo principale del programma ?

Grazie



------
Alberto
Se io dichiaro una variabile dentro una def() è come non la dichiarassi ??
No, se la dichiari dentro la funzione ha valore dentro di essa (locale).

Devo per forza dichiararla nel corpo principale del programma ?

Non per forza, ma dipende che ci devi fare. Nell'esempio sotto hai due variabili, quella dentro la funzione è locale:
>>> variabile = "Sono nel corpo del programma"
>>> def func1():
...     variabile = "Sono dentro la funzione"
...     return variabile
>>> def func2():
...     return variabile
>>> print variabile
Sono nel corpo del programma
>>> print func1()
Sono dentro la funzione
>>> print func2()
Sono nel corpo del programma

Quindi se dichiari la variabile fuori dalla funzione, puoi usarla all'interno della funzione:
>>> a = 1
>>> def somma():
...     return a + 1
>>> print somma()
2

Ed ovviamente se la variabile non è stata dichiarata, avrai ovviamente un errore:
>>> def somma():
...     return a + 1
>>> print somma()
NameError: global name 'a' is not defined

Da dentro la funzione puoi intervenire sul valore globale della variabile, ma forse sto andando troppo avanti...

Fammi sapere se non ti è chiaro qualcosa.

Cya

P.S. L'esempio è con Python 2.7


Pagina: 1



Esegui il login per scrivere una risposta.