Paso de variables por referencia en Python
En Python, las variables que contienen objetos complejos se pasan por referencia. Esto significa que todos los cambios realizados en una variable se reflejarán en la segunda. Y aunque con este tipo de asignación de valores aumenta el riesgo de errores, se economizan significativamente los recursos de la memoria del sistema operativo.
Supongamos que tenemos dos listas:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
Dado que a la variable lst2 se le asignó
el valor de lst1, ahora en la memoria
RAM de la computadora se almacena una lista,
a la que hacen referencia dos variables
simultáneamente.
Modifiquemos el primer elemento de lst2
e imprimamos la primera lista en la consola:
lst2[0] = '!'
print(lst1) # mostrará ['!', 2, 3, 4, 5]
¿Cuál será el resultado de ejecutar el siguiente código:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
¿Cuál será el resultado de ejecutar el siguiente código:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
¿Cuál será el resultado de ejecutar el siguiente código:
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)