Prosleđivanje objekata parametrima u Python-u
Promenljive koje sadrže objekte (liste, skupove, torke, rečnike) u funkcijama se prosleđuju po referenci. Hajde da prepišemo kod u funkciji tako da se prvi element prosledjene promenljive menja u uzvičnik. I ispod funkcije deklarišimo promenljivu čija vrednost je lista:
pythondef func(tst):
tst[0] = '!'
print(tst)
lst = [1, 2, 3, 4, 5]
Pošto se liste prosleđuju po referenci, pri
pozivu funkcije promeniće se i vrednost lst
u globalnom opsegu vidljivosti:
pythonfunc(lst) # ispisaće ['!', 2, 3, 4, 5]
print(lst) # ispisaće ['!', 2, 3, 4, 5]
Задание 1
Kakav će biti rezultat izvršavanja sledećeg koda:
pythondef func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
func(lst)
print(lst)
Задание 2
Kakav će biti rezultat izvršavanja sledećeg koda:
pythondef func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
lst = func(lst)
print(lst)
Задание 3
Kakav će biti rezultat izvršavanja sledećeg koda:
pythondef func(lst):
lst = '!'
lst = [1, 2, 3, 4, 5]
func(lst[0])
print(lst)
Задание 4
Kakav će biti rezultat izvršavanja sledećeg koda:
pythondef func(dct):
for key in dct.keys():
dct[key] += 2
dct = {
'a': 1,
'b': 2,
'c': 3,
}
func(dct)
print(dct)