summaryrefslogtreecommitdiff
path: root/es/04_funciones.md
diff options
context:
space:
mode:
Diffstat (limited to 'es/04_funciones.md')
-rw-r--r--es/04_funciones.md16
1 files changed, 8 insertions, 8 deletions
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: