From c3a0a74c059ac7790008e7325567317435d0c7f8 Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Wed, 22 Jul 2020 14:20:07 +0200 Subject: Corrections in first chapters --- es/03_estructura.md | 48 ++++++++++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 26 deletions(-) (limited to 'es/03_estructura.md') diff --git a/es/03_estructura.md b/es/03_estructura.md index ba9abdb..4aa6570 100644 --- a/es/03_estructura.md +++ b/es/03_estructura.md @@ -25,9 +25,9 @@ Para poder alterar el orden de los comandos, o elegir en función de una condición cuales se ejecutan, python dispone de unas estructuras. Pero, antes de contarte cuales son, te adelanto su forma general. Normalmente se declaran en una línea terminada en `:` y su cuerpo se sangra hacia dentro. La sangría (o -indentación si lo calcamos del inglés[^indent]) es lo que define dónde empieza -o termina un *bloque* en python. Las líneas consecutivas sangradas al mismo -nivel se consideran el mismo *bloque*. +indentación si lo calcamos del inglés) es lo que define dónde empieza o termina +un *bloque* en python. Las líneas consecutivas sangradas al mismo nivel se +consideran el mismo *bloque*. #### Bloques @@ -40,12 +40,10 @@ contexto. Sirven para delimitar zonas del programa, cuerpos de sentencias, etc. Es **muy importante** sangrar los bloques correctamente, usando una sangría coherente. Puedes usar dos espacios, el tabulador, cuatro espacios o lo que -desees, pero elijas lo que elijas debe ser coherente en todo el documento. -IDLE y los editores de código en general puede configurarse para usar una -anchura de indentación concreta, que se insertará cuando pulses la tecla -tabulador. El estándar de python es cuatro espacios. - -[^indent]: +desees, pero elijas lo que elijas debe ser coherente en todo el documento. Los +editores de código, como IDLE, pueden configurarse para usar una anchura de +indentación concreta, que se insertará cuando pulses la tecla tabulador. El +estándar de python es cuatro espacios. ## Sintaxis general @@ -74,8 +72,9 @@ print("Hola") # Esto es otro comentario ### Control de flujo Como ya se ha adelantado, es posible cambiar el orden de ejecución del programa -en función de unas normas o evitar que el programa ejecute ciertas sentencias. -A esto se le conoce como *control de flujo*. +en función de unas normas para evitar que el programa ejecute ciertas +sentencias o repita la ejecución de algunos bloques. A esto se le conoce como +*control de flujo*. #### Condicionales @@ -101,8 +100,8 @@ Tal y como se muestra en el ejemplo, los bloques `elif` y el bloque `else` son opcionales. Es posible, y muy común además, hacer un `if` únicamente con el apartado inicial. -Si te preguntas qué condiciones debes usar, es tan simple como usar sentencias -de python cuyo resultado sea `True` o `False`. Cuando la sentencia resulte en +Si te preguntas qué condiciones debes usar, es tan simple como usar expresiones +de python cuyo resultado sea `True` o `False`. Cuando la expresión resulte en un `True` la condición se cumplirá y el bloque interior se ejecutará. En resumen, el *if* ejecuta el bloque *si* la condición se cumple. @@ -200,7 +199,8 @@ True Es relativamente sencillo prever qué valores son *truthy* o *falsey*, normalmente los valores que representan un vacío se consideran `False`. -[^truthy]: +[^truthy]: La documentación oficial de python describe estas conversiones en + detalle en la sección *Truth value testing*. ### List comprehensions @@ -208,7 +208,7 @@ normalmente los valores que representan un vacío se consideran `False`. Una de las excepciones sintácticas que sí que podemos explicar en este momento, en el que ya sabes hacer bucles, son las *list comprehensions*. Python dispone de un sistema para crear secuencias y transformarlas muy similar a la notación -de construcción de sets de las matemáticas[^set-notation]. +de construcción de sets de las matemáticas. Como mejor se entiende es con unos ejemplos, en este caso vamos usar la función `range` para crear una lista de números del `0` (inclusive) al `10` (no @@ -247,11 +247,9 @@ proceso que dejamos para el futuro. at 0x7f779d9b2d58> ``` -[^set-notation]: - ### Excepciones -Las excepciones o *exception* son errores del programa, python lanza +Las excepciones o *exception* son errores del programa. Python lanza excepciones cuando hay problemas. Por ejemplo, cuando intentas acceder a un índice inexistente en una lista. @@ -259,9 +257,9 @@ Las excepciones terminan la ejecución del programa a no ser que se gestionen. Se consideran fallos de los que el programa no puede arreglarse a no ser que se le indique cómo. Algunas funciones y librerías lanzan excepciones que nosotros debemos gestionar, por ejemplo: que un archivo no exista, o que no se tenga -permisos de edición en el directorio, etc. Es nuestra responsabilidad como -programadores tener un plan be o aceptar la excepción deportivamente a -sabiendas que nuestro programa terminará indicando un error. +permisos de edición en el directorio, etc. Es nuestra responsabilidad tener un +plan be o aceptar la excepción deportivamente a sabiendas que nuestro programa +terminará indicando un error. Hay ocasiones en las que las excepciones pueden capturarse y otras no, por ejemplo, los fallos de sintaxis no pueden solventarse. @@ -314,13 +312,11 @@ capturar ninguna, perdiendo así el detalle de los fallos. Cuando aprendas sobre programación orientada a objetos en el apartado correspondiente puedes volver a visitar este punto y leer la documentación de -python[^exception] para entender cómo hacerlo. Te adelanto que python tiene una +python para entender cómo hacerlo. Te adelanto que python tiene una larga lista de excepciones y que está considerado una mala práctica crear nuevas si las excepciones por defecto cubren un caso similar al que se encuentra en nuestro programa. -[^exception]: - ### Funciones Las funciones sirven, sobre todo, para reutilizar código. Si una pieza de @@ -527,8 +523,8 @@ para después avanzar a las *list comprehensions*, cuyo nombre contiene *list* pero valen para cualquier dato complejo. Has cambiado un poco de tema después, saltando a las excepciones, que no has -podido ver en detalle por no ser, aún, un experto en programación orientada a -objetos. Pero tranquilo, pronto lo serás. +podido ver en detalle por no haber visitado, aún, la programación orientada a +objetos. Pero calma, pronto lo haremos. Una pincelada sobre funciones ha sido suficiente para que no les tengas miedo nunca más y que podamos atacar el siguiente capítulo con energía, ya que ahora -- cgit v1.2.3