Pasar objetos como parámetros en Python

Las variables que contienen objetos (listas, conjuntos, tuplas, diccionarios) en funciones se pasan por referencia. Reescribamos el código en la función para que el primer elemento de la variable pasada cambie a un signo de exclamación. Y debajo de la función declaremos una variable, cuyo valor es una lista:

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

Dado que las listas se pasan por referencia, al llamar a la función, también cambiará el valor de lst en el ámbito global:

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

¿Cuál será el resultado de ejecutar el siguiente código:

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

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

¿Cuál será el resultado de ejecutar el siguiente código:

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

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

¿Cuál será el resultado de ejecutar el siguiente código:

pythondef func(lst):
  lst = '!'

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

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

¿Cuál será el resultado de ejecutar el siguiente código:

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

func(dct)
print(dct)