¿Y si Python permitiera 'end' como fin de bloque?

Baltasar García Perez-Schofield - Feb 6 - - Dev Community

En Python, los bloques de código (el código dentro de un bucle, por ejemplo) se marcan utilizando indentación. Es decir, a partir de la siguiente línea que termina con dos puntos (':'), cada instrucción tiene que estar indentada hacia la derecha, hasta el final del bloque.

for _ in range(10):
    print("Python mola!")
Enter fullscreen mode Exit fullscreen mode

Normalmente, no supone un gran problema, pero hay un escenario que me pone "muy malo", como se puede ver a continuación.

i = 0
while i < 10:
    if i % 2 == 0:
        i += 2

    i += 1
Enter fullscreen mode Exit fullscreen mode

Me refiero al final de ambos bloques, el del if y el del while. Para mi, esas dos instrucciones de incremento de i es como si quedasen descolgadas.

Veamos ahora si se pudiera utilizar end como recurso sintáctico para delimitar el final de los bloques. Esto es algo que proporciona Juía y multitud de dialectos de BASIC. ¿Cómo quedaría?

i = 0
while i < 10:
    if i % 2 == 0:
        i += 2
    end

    i += 1
end
Enter fullscreen mode Exit fullscreen mode

Para mi queda todo mucho más ordenado y limpio... sería como decía, un recurso sintáctico, no tendría que traducirse en nada al código objeto, y sería opcional.

¿Y tú, como lo ves? ¿Sería tan terrible?

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player