Python vuelve a la línea anterior del archivo
He visto esto en lenguajes como CoffeeScript y puedo decir que es una idea horrible. A menudo he acabado devolviendo cosas que no pretendía, sólo porque mi última llamada a la función devolvía algo. El encasillamiento especial de las funciones de una línea (que, por cierto, están prohibidas por PEP 8) haría que esto no fuera evidente para los programadores que no hubieran leído sobre esta característica específica.
Uno de los objetivos debería ser también reducir el número de líneas de código escritas para hacer una tarea concreta, las funciones de una línea sin palabra clave de retorno son definitivamente algo a lo que la gente se acostumbraría muy pronto.
Sospecho que cuando la gente lo usa, no es sólo por brevedad, sino también por uniformidad, enfatizando el ángulo de “las funciones son valores” – nótese cómo esto crea una función en todas las asignaciones, pero 2 de ellas no implican ninguna sintaxis def/lambda. En este marco mental, eso no importa, por lo que es agradable que todos los nombres definidos estén a la izquierda; esta uniformidad se vería perjudicada al usar def.
Ejemplo de goto en Python
Sé que puedo usar otra entrada en el while para hacer que pregunte los números de nuevo y parar el bucle pero hay dos whiles y eso no me permite preguntar Y de nuevo, sólo X. Así que estaría bien poder volver a la línea 6 y empezar de nuevo
Sin embargo, puedes hacerlo mejor. Toma trozos de código aislados y sepáralos en funciones que puedas llamar. Si dos (o, en tu caso, cuatro) trozos de código son casi idénticos, abstraelos en una sola función que tome un parámetro, en lugar de repetir el mismo código cuatro veces. Y así sucesivamente.
Aun así, no deberías hacer ninguna de estas cosas. Por muy sencillo que sea definir add, sub, mul y truediv, es aún más sencillo no definirlos. Python viene con “pilas incluidas” por una razón, y si estás evitando usarlas, estás haciendo tu vida (y la de cualquiera que tenga que leer, mantener, etc. tu código) más difícil sin ninguna razón.
Alternativa para goto en python
Mientras codificas en Python, puede que quieras que tu código imprima ciertos elementos en la siguiente línea o en una nueva línea. O puede que simplemente quieras ejecutar una sentencia y quieras que el cursor se mueva a la siguiente línea.
En Python, puedes especificar el carácter de nueva línea mediante “\n”. El “\N” es el carácter de escape que se utiliza para mencionar caracteres de espacio en blanco como \Nt, \N y \Nr. Al mencionar el carácter de nueva línea mediante \n, el cursor pasará a la línea consecutiva.
Otra forma de insertar una nueva línea entre cadenas en Python es utilizando cadenas de varias líneas. Estas cadenas se denotan usando comillas triples (“””) o (”’). Este tipo de cadenas pueden abarcar dos o tres líneas. Podemos ver en la salida que las cadenas se imprimen en tres líneas consecutivas como se especifica en el código con la ayuda de las comillas triples.
Existe otra forma de insertar una nueva línea: utilizando un interruptor de línea independiente de la plataforma. Esto se consigue utilizando el carácter de nueva línea del paquete os de Python llamado linesep. El os.linesep se utiliza para separar líneas en esa plataforma concreta como Windows o Linux.
Devuelve la nueva línea python
Para romper una línea en Python, utilice los paréntesis o la barra invertida explícita(/). Usando los paréntesis, puedes escribir sobre múltiples líneas. La forma preferida de envolver líneas largas es usar la continuación de línea implícita de Python dentro de paréntesis, corchetes y llaves.
Puedes usar paréntesis o barra invertida dependiendo de tu escenario, pero ten cuidado cuando uses la barra invertida. El peligro de usar una barra invertida para terminar una línea es que si se agrega un espacio en blanco después de la barra invertida (lo cual, por supuesto, es muy difícil de ver), la barra invertida ya no está haciendo lo que usted pensaba.