Пренос на објекти како параметри во Python
Променливите кои содржат објекти (спискови, множества, торки, речници) во функциите се пренесуваат по референца. Ајде да го преработиме кодот во функцијата така што првиот елемент на пренесуваната променлива да се промени во извичник. А под функцијата да декларираме променлива чија вредност е список:
pythondef func(tst):
tst[0] = '!'
print(tst)
lst = [1, 2, 3, 4, 5]
Бидејќи списоците се пренесуваат по референца, при
повикување на функцијата ќе се промени и вредноста lst
во глобалниот опсег:
pythonfunc(lst) # ќе испише ['!', 2, 3, 4, 5]
print(lst) # ќе испише ['!', 2, 3, 4, 5]
Задание 1
Кој ќе биде резултатот од извршувањето на следниот код:
pythondef func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
func(lst)
print(lst)
Задание 2
Кој ќе биде резултатот од извршувањето на следниот код:
pythondef func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
lst = func(lst)
print(lst)
Задание 3
Кој ќе биде резултатот од извршувањето на следниот код:
pythondef func(lst):
lst = '!'
lst = [1, 2, 3, 4, 5]
func(lst[0])
print(lst)
Задание 4
Кој ќе биде резултатот од извршувањето на следниот код:
pythondef func(dct):
for key in dct.keys():
dct[key] += 2
dct = {
'a': 1,
'b': 2,
'c': 3,
}
func(dct)
print(dct)