Junior — Middle
¿Cómo cambian los objetos de tipos de datos modificables cuando se pasan a una función como argumentos?
sobes.tech AI
Respuesta de la IA
En Python, los objetos de tipos mutables (por ejemplo, listas, diccionarios, conjuntos) se pasan a las funciones por referencia al objeto. Esto significa que si dentro de la función se modifica el contenido del objeto (por ejemplo, agregar un elemento a la lista), estos cambios serán visibles también fuera de la función.
Ejemplo:
def add_element(lst):
lst.append(10)
my_list = [1, 2, 3]
add_element(my_list)
print(my_list) # Mostrará: [1, 2, 3, 10]
Sin embargo, si dentro de la función se asigna un nuevo objeto al parámetro, esto no afectará al objeto externo:
def replace_list(lst):
lst = [4, 5, 6] # Se crea un nuevo objeto, local para la función
my_list = [1, 2, 3]
replace_list(my_list)
print(my_list) # Mostrará: [1, 2, 3]
Por lo tanto, al pasar objetos mutables a una función, se puede modificar su contenido, y estos cambios persistirán fuera de la función.