Transmiterea primitivelor ca parametri ai funcțiilor în Python

Să examinăm particularitățile transmiterii tipurilor de date primitive (șiruri de caractere, numere) ca parametri ai funcțiilor.

Să presupunem că avem o funcție care primește ca parametru variabila tst și îi atribuie valoarea 2. După funcție, vom declara variabila num:

pythondef func(tst):
  tst = 2
  print(tst)

num = 3

Să apelăm funcția și să transmitem în parametrul ei variabila num și să afișăm valoarea ei în consolă. În ciuda faptului că în parametrul funcției este specificat num, valoarea ei în zona globală de vizibilitate nu s-a schimbat:

pythonfunc(num) # va afișa 2
print(num) # va afișa 3
Задание 1

Care va fi rezultatul executării următorului cod:

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

name = 'user1'

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

Care va fi rezultatul executării următorului cod:

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

num1 = 0
num2 = 2

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