Python-da obyektlarni parametrlar orqali uzatish

Obyektlarni (ro'yxatlar, to'plamlar, kortejlar, lug'atlar) o'z ichiga olgan o'zgaruvchilar funktsiyalarga havola orqali uzatiladi. Keling, kodni funktsiyada qayta yozaylik, shunda birinchi element uzatilgan o'zgaruvchiga o'zgartirilsin undov belgisi. Va funktsiya ostida e'lon qilaylik qiymati ro'yxat bo'lgan o'zgaruvchi:

pythondef func(tst):
  tst[0] = '!'
  print(tst)
  
lst = [1, 2, 3, 4, 5]

Ro'yxatlar havola orqali uzatilgani sababli, funktsiyani chaqirishda lst ning qiymati ham o'zgaradi global ko'rish sohasida:

pythonfunc(lst) # chiqaradi ['!', 2, 3, 4, 5]
print(lst) # chiqaradi ['!', 2, 3, 4, 5]
Задание 1

Quyidagi kodni bajarish natijasi qanday bo'ladi:

pythondef func(lst):
  lst[0] = '!'
  
lst = [1, 2, 3, 4, 5]
func(lst)

print(lst)
Задание 2

Quyidagi kodni bajarish natijasi qanday bo'ladi:

pythondef func(lst):
  lst[0] = '!'
  
lst = [1, 2, 3, 4, 5]
lst = func(lst)

print(lst)
Задание 3

Quyidagi kodni bajarish natijasi qanday bo'ladi:

pythondef func(lst):
  lst = '!'

lst = [1, 2, 3, 4, 5]
func(lst[0])

print(lst)
Задание 4

Quyidagi kodni bajarish natijasi qanday bo'ladi:

pythondef func(dct):
  for key in dct.keys():
    dct[key] += 2
  
dct = {
  'a': 1,
  'b': 2,
  'c': 3,
}

func(dct)
print(dct)