Übergabe von Objekten als Parameter in Python

Variablen, die Objekte enthalten (Listen, Mengen, Tupel, Wörterbücher), werden in Funktionen als Referenz übergeben. Lasst uns den Code in der Funktion so umschreiben, dass das erste Element der übergebenen Variable in ein Ausrufezeichen geändert wird. Und unterhalb der Funktion deklarieren wir eine Variable, deren Wert eine Liste ist:

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

Da Listen als Referenz übergeben werden, ändert sich beim Aufruf der Funktion auch der Wert von lst im globalen Gültigkeitsbereich:

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

Wie wird das Ergebnis der Ausführung des folgenden Codes sein:

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

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

Wie wird das Ergebnis der Ausführung des folgenden Codes sein:

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

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

Wie wird das Ergebnis der Ausführung des folgenden Codes sein:

pythondef func(lst):
  lst = '!'

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

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

Wie wird das Ergebnis der Ausführung des folgenden Codes sein:

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

func(dct)
print(dct)