Passaggio di primitive come parametri di funzioni in Python
Esaminiamo le peculiarità del passaggio di tipi di dati primitivi (stringhe, numeri) nei parametri di una funzione.
Supponiamo di avere una funzione che accetta
una variabile tst come parametro e le assegna
il valore 2. Dopo la funzione, dichiariamo
una variabile num:
def func(tst):
tst = 2
print(tst)
num = 3
Chiamiamo la funzione e passiamo alla sua
parametro la variabile num, quindi stampiamo
il suo valore nella console. Nonostante nel
parametro della funzione sia indicato num,
il suo valore nell'area globale
non è cambiato:
func(num) # stamperà 2
print(num) # stamperà 3
Quale sarà il risultato dell'esecuzione del seguente codice:
def func(txt):
txt = 'user2'
return txt
name = 'user1'
res = func(name)
print(res)
print(name)
Quale sarà il risultato dell'esecuzione del seguente codice:
def func(tst1, tst2):
tst1 += 1
tst2 *= 2
return tst1 + tst2
num1 = 0
num2 = 2
res = func(num1, num2)
print(num1 + num2)
print(res)