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:
def 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:
func(num) # va afișa 2
print(num) # va afișa 3
Care va fi rezultatul executării următorului cod:
def func(txt):
txt = 'user2'
return txt
name = 'user1'
res = func(name)
print(res)
print(name)
Care va fi rezultatul executării următorului cod:
def func(tst1, tst2):
tst1 += 1
tst2 *= 2
return tst1 + tst2
num1 = 0
num2 = 2
res = func(num1, num2)
print(num1 + num2)
print(res)