Aprender a pensar como un programador Python

Page 53

3.8 Flujo de ejecuci´ on

27

def nueva_linea(): print def tresLineas(): nueva_linea() nueva_linea() nueva_linea() print "Primera Linea." tresLineas() print "Segunda Linea." El presente programa contiene dos definiciones de funciones: nueva linea y tresLineas. Las definiciones de funciones se ejecutan como el resto de sentencias, pero el efecto es crear una nueva funci´on. Las sentencias del interior de la funci´on no se ejecutan hasta que se llama a la funci´on, y la definici´on de la funci´on no genera salida. Como era de esperar, tiene que crear una funci´on antes de poder ejecutarla. En otras palabras, la definici´on de la funci´on tiene que ejecutarse antes de la primera vez que se la invoque. Como actividad, pruebe a ejecutar este programa moviendo las tres u ´ltimas sentencias al principio del programa. Registre qu´e mensaje de error obtiene usted. Como segunda actividad, pruebe a tomar la versi´ on del programa que funcionaba y a mover la definci´ on de nueva linea m´ as abajo que la definici´ on de tresLineas . ¿Qu´e ocurre cuando ejecuta el programa?

3.8.

Flujo de ejecuci´ on

Para asegurarse de que una funci´on se define antes de su primer uso, tiene que conocer el orden en el que se ejecutan las sentencias; a esto se le llama flujo de ejecuci´ on. La ejecuci´on comienza siempre por la primera sentencia del programa. Las sentencias se ejecutan a raz´on de una cada vez, en orden, hasta que se alcanza una llamada a una funci´on. Las definiciones de funciones no alteran el flujo de ejecuci´on del programa, pero recuerde que las sentencias que hay dentro de la funci´on no se ejecutan hasta que se hace la llamada a la funci´on. Aunque no es habitual, puede definir una


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.