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:

pythondef 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:

pythonfunc(num) # stamperà 2
print(num) # stamperà 3
Задание 1

Quale sarà il risultato dell'esecuzione del seguente codice:

pythondef func(txt):
  txt = 'user2'
  return txt

name = 'user1'

res = func(name)
print(res)
print(name)
Задание 2

Quale sarà il risultato dell'esecuzione del seguente codice:

pythondef func(tst1, tst2):
  tst1 += 1
  tst2 *= 2
  return tst1 + tst2

num1 = 0
num2 = 2

res = func(num1, num2)
print(num1 + num2)
print(res)