Objektu nodošana parametros Python

Mainīgie, kas satur objektus (sarakstus, kopas, kortēžus, vārdnīcas) funkcijās tiek nodoti pa referenci. Pārrakstīsim kodu funkcijā tā, lai pirmais elements padotā mainīgā tiktu mainīts uz izsaukuma zīmi. Un zem funkcijas deklarēsim mainīgo, kura vērtība ir saraksts:

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

Tā kā saraksti tiek nodoti pa referenci, izsaucot funkciju, mainīsies arī lst vērtība globālajā apjomā:

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

Kāds būs šāda koda izpildes rezultāts:

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

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

Kāds būs šāda koda izpildes rezultāts:

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

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

Kāds būs šāda koda izpildes rezultāts:

pythondef func(lst):
  lst = '!'

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

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

Kāds būs šāda koda izpildes rezultāts:

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

func(dct)
print(dct)