From 007355c56f86fe42856346a8d7685e9aa3dac541 Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Fri, 25 Sep 2020 00:16:27 +0200 Subject: Corrections by Nuria from Casa Tia Julia my idol of the world --- es/04_funciones.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'es/04_funciones.md') diff --git a/es/04_funciones.md b/es/04_funciones.md index 81aeb8e..444ae63 100644 --- a/es/04_funciones.md +++ b/es/04_funciones.md @@ -37,11 +37,11 @@ Parece que no conoce el nombre `b`. Esto es un tema relacionado con el *scope*. ## Scope Anteriormente se ha dicho que python es un lenguaje de programación con gestión -automática de la memoria. Esto significa que él mismo es capaz de saber cuando -necesita pedir más memoria al sistema operativo y cuando quiere liberarla. +automática de la memoria. Esto significa que él mismo es capaz de saber cuándo +necesita pedir más memoria al sistema operativo y cuándo quiere liberarla. El *scope* es un resultado este sistema. Para que python pueda liberar memoria, necesita de un proceso conocido como *garbage collector* (recolector -de basura), que se encarga de buscar cuando las referencias ya no van a poder +de basura), que se encarga de buscar cuándo las referencias ya no van a poder usarse más para pedir una liberación de esa memoria. Por tanto, las referencias tienen un tiempo de vida, desde que se crean hasta que el recolector de basura las elimina. Ese tiempo de vida se conoce como *scope* y, más que en tiempo, se @@ -169,14 +169,14 @@ Cada vez que se crea una función, python crea un nuevo contexto para ella. Puedes entender el concepto de contexto como una tabla donde se van guardando las referencias que se declaran en la función. Cuando la función termina, su contexto asociado se elimina, y el recolector de basura se encarga de liberar -la memoria de sus variables, tal y como vimos anteriormente. +la memoria de sus referencias, tal y como vimos anteriormente. Lo que ocurre es que estos contextos son jerárquicos, por lo que, al crear una función, el padre del contexto que se crea es el contexto de la función madre. Python utiliza esto como método para encontrar las referencias. Si una referencia no se encuentra en el contexto actual, python la buscará en el contexto padre y así sucesivamente hasta encontrarla o lanzar un error diciendo -que no la conoce. Esto explica por qué las variables declaradas en la función +que no la conoce. Esto explica por qué las referencias declaradas en la función madre pueden encontrarse y accederse y no al revés. Aunque hemos explicado el *scope* como un concepto asociado a las funciones, la @@ -224,7 +224,7 @@ Las funciones devueltas viven durante más tiempo que la función que las albergaba por lo que saber qué pasa con la variable `increment` es difícil a simple vista. -Python no destruirá ninguna variable que todavía pueda ser accedida, si lo +Python no destruirá ninguna variable a la que todavía se pueda acceder, si lo hiciera, las funciones devueltas no funcionarían porque no podrían incrementar el valor. Habrían olvidado con qué valor debían incrementarlo. @@ -372,7 +372,7 @@ los campos de una colección usando los corchetes, siempre que python se encuentre unos paréntesis después de un valor tratará de ejecutar el valor. Así que los paréntesis no son una acción que únicamente pueda aplicarse en nombres de función[^lambdas-ejemplo] y python no lanzará un fallo de sintaxis cuando -los usemos fuera de lugar, si no que será un fallo de tiempo de ejecución al +los usemos fuera de lugar, sino que será un fallo de tiempo de ejecución al darse cuenta de lo que se intenta ejecutar no es ejecutable. ``` python @@ -575,7 +575,7 @@ sugar*[^syntactic-sugar]. Los *decorators* pueden entenderse como un envoltorio para una función. No son más que una función que devuelve otra. En el caso del decorador del ejemplo, el -*decorator* `timer` es función que recibe otra función como argumento de +*decorator* `timer` es una función que recibe otra función como argumento de entrada y devuelve la función `decorated_function`. Este decorador, al aplicarlo a una función con `@timer` está haciendo lo siguiente: -- cgit v1.2.3