Visibilità delle risorse – 1

La risorsa all’interno della funzione appartiene all’ambiente locale, non è visibile all’esterno

def funzione_1(): 
    a=100    
    print(a)       # 100

def funzione_2(): 
    print(a)       # ERRORE

funzione_1()
funzione_2()
print(a)           # ERRORE

La risorsa globale è visibile all’interno della funzione (solo in lettura)

def funzione(): 
    print(a)      # 10 
    print(a+100)  # 110 

a=10 
print(a)          # 10 
funzione()    
print(a)          # 10

La risorsa, utilizzata in scrittura, è locale e copre la risorsa globale con lo stesso nome

def funzione(): 
    a=100 
    print(a)     # 100 

a=10 
print(a)         # 10 
funzione() 
print(a)         # 10

La risorsa non è modificabile all’interno della funzione perché è stata utilizzata in lettura (quindi si riferisce a una risorsa globale)

def funzione(): 
    print(a)     # 10 
    a=100        # ERRORE 

a=10 
print(a)         # 10 
funzione()

Parametro

Osserva

  1. Alla chiamata della funzione il parametro a1 viene passato alla funzione.
  2. La funzione possiede un parametro formale a che riceve il valore del parametro attuale a1 (10)
  3. Il parametro a si comporta come una variabile locale (lettura/scrittura).
  4. Le modifiche al valore di a non influenzano il valore di a1.
def funzione(a): 
    print(a)      # 10 
    a=100 
    print(a)      # 100 

a1=10 
a2=20 
print(a1, a2)     # 10 20
funzione(a1) 
print(a1, a2)     # 10 20