Oordrag van objekte as parameters in Python

Veranderlikes wat objekte bevat (lyste, versamelings, tupels, woordeboeke) word in funksies verwysing oorgedra. Kom ons herskryf die kode in die funksie sodat die eerste element van die oorgedraagde veranderlike verander na 'n uitroepteken. En onder die funksie verklaar ons 'n veranderlike waarvan die waarde 'n lys is:

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

Aangesien lyste per verwysing oorgedra word, sal die funksie-oproep ook die waarde van lst in die globale sieningsveld verander:

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

Wat sal die resultaat van die uitvoering van die volgende kode wees:

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

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

Wat sal die resultaat van die uitvoering van die volgende kode wees:

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

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

Wat sal die resultaat van die uitvoering van die volgende kode wees:

pythondef func(lst):
  lst = '!'

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

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

Wat sal die resultaat van die uitvoering van die volgende kode wees:

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

func(dct)
print(dct)