Kalimi i objekteve si parametra në Python
Ndryshoret që përmbajnë objekte (lista, bashkësi, tuple, fjalorë) në funksione kalojnë me referencë. Le të rishkruajmë kodin në funksion ashtu që elementi i parë i ndryshores së kaluar të ndryshohet në shenjë thirrjeje. Dhe poshtë funksionit le të deklarojmë një ndryshore, vlera e së cilës është një listë:
def func(tst):
tst[0] = '!'
print(tst)
lst = [1, 2, 3, 4, 5]
Meqenëse listat kalojnë me referencë, kur
thirret funksioni do të ndryshojë edhe vlera e lst
në fushën globale të dukshmërisë:
func(lst) # do të shfaqë ['!', 2, 3, 4, 5]
print(lst) # do të shfaqë ['!', 2, 3, 4, 5]
Cili do të jetë rezultati i ekzekutimit të kodit në vijim:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
func(lst)
print(lst)
Cili do të jetë rezultati i ekzekutimit të kodit në vijim:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
lst = func(lst)
print(lst)
Cili do të jetë rezultati i ekzekutimit të kodit në vijim:
def func(lst):
lst = '!'
lst = [1, 2, 3, 4, 5]
func(lst[0])
print(lst)
Cili do të jetë rezultati i ekzekutimit të kodit në vijim:
def func(dct):
for key in dct.keys():
dct[key] += 2
dct = {
'a': 1,
'b': 2,
'c': 3,
}
func(dct)
print(dct)