Додани объектҳо ба параметрҳо дар 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)