Sobes.tech
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.