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:
def 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:
func(lst) # mostrará ['!', 2, 3, 4, 5]
print(lst) # mostrará ['!', 2, 3, 4, 5]
¿Cuál será el resultado de ejecutar el siguiente código:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
func(lst)
print(lst)
¿Cuál será el resultado de ejecutar el siguiente código:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
lst = func(lst)
print(lst)
¿Cuál será el resultado de ejecutar el siguiente código:
def func(lst):
lst = '!'
lst = [1, 2, 3, 4, 5]
func(lst[0])
print(lst)
¿Cuál será el resultado de ejecutar el siguiente código:
def func(dct):
for key in dct.keys():
dct[key] += 2
dct = {
'a': 1,
'b': 2,
'c': 3,
}
func(dct)
print(dct)