Curso de python nivel medio
¿Qué es el paso de parámetros?
Cuando llamas a una función en Python, puedes pasarle datos (argumentos) para que la función trabaje con ellos. La forma en que esos datos se pasan a la función puede ser por valor o por referencia.
Paso de parámetros por valor
En el paso por valor, se pasa una copia del valor del argumento a la función. Esto significa que cualquier cambio que se haga al parámetro dentro de la función no afectará al valor original fuera de la función.
Ejemplo de paso por valor
Aunque Python no tiene paso por valor de manera estricta como otros lenguajes, cuando trabajas con tipos inmutables (como números, cadenas de texto, y tuplas), el comportamiento es similar al paso por valor.
1def duplicar_numero(numero): 2 numero = numero * 2 3 print(f"Valor dentro de la función: {numero}") 4 5# Variable original 6x = 5 7duplicar_numero(x) 8print(f"Valor fuera de la función: {x}")Salida de Consola!: Valor dentro de la función: 10 Valor fuera de la función: 5
- ¿Qué hace este código?:
- Define la función
duplicar_numero(numero), que intenta duplicar el valor del número pasado. - Se pasa el valor
5a la función, pero fuera de la función, el valor originalxno cambia.
- Define la función
Paso de parámetros por referencia
En el paso por referencia, se pasa la referencia (es decir, la dirección de memoria) del argumento a la función. Esto significa que si se modifica el parámetro dentro de la función, el valor original sí se verá afectado fuera de la función.
Ejemplo de paso por referencia
En Python, cuando pasas tipos mutables (como listas, diccionarios, o conjuntos), se utiliza el paso por referencia.
1def agregar_elemento(lista): 2 lista.append(4) 3 print(f"Lista dentro de la función: {lista}") 4 5# Lista original 6mi_lista = [1, 2, 3] 7agregar_elemento(mi_lista) 8print(f"Lista fuera de la función: {mi_lista}")Salida de Consola!: Lista dentro de la función: [1, 2, 3, 4] Lista fuera de la función: [1, 2, 3, 4]
- ¿Qué hace este código?:
- Define la función
agregar_elemento(lista), que agrega el número4a la lista pasada como argumento. - La lista original
mi_listaes modificada dentro de la función, y el cambio persiste fuera de la función.
- Define la función
¿Cómo funciona en Python?
En Python:
- Los tipos inmutables (números, cadenas, tuplas) se comportan como si se pasaran por valor porque no pueden ser modificados.
- Los tipos mutables (listas, diccionarios, conjuntos) se pasan por referencia porque pueden ser modificados.
Conclusión
El paso de parámetros en Python depende del tipo de dato:
- Los tipos inmutables se comportan como si se pasaran por valor, y cualquier cambio dentro de la función no afecta al valor original.
- Los tipos mutables se pasan por referencia, lo que significa que cualquier modificación dentro de la función afectará al valor original fuera de la función.
¡Practica con diferentes tipos de datos y observa cómo los cambios dentro de las funciones afectan (o no) a los valores originales! Esto te ayudará a entender cómo manejar mejor los datos en tus programas.
- Loading...