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)