-
Title:
02-11 Usando procedimientos
-
Description:
-
Desafortunadamente, no estamos completamente listos para estar sonrientes.
-
Sebastian me dijo que van a pasar algunos años antes de que tenga
-
mi propio auto que se conduce solo, pero el mayor problema es que todavía no hemos hablado realmente de
-
como usar un procedimiento.
-
Todo lo que hemos hecho es crearlos, hasta que no podamos usarlos
-
no tenemos ninguna razon para estar felices.
-
Enseguida vamos a aprender a usarlos, luego estaremos nuevamente sonrientes.
-
Ahora vamos a aprender a usar un procedimiento.
-
La forma de usar un procedimiento- necesitamos el nombre del procedimiento, seguido de
-
un parentesis izquierdo, seguido de una lista de entradas.
-
Podría ser cualquier cantidad de entradas, pero tiene que coincidir con el número de entradas
-
que espera el procedimiento.
-
Estas entradas son algunas veces llamadas operandos,
-
algunas veces son llamadas argumentos.
-
No vamos a debatir al respecto.
-
Nosotros simplemente las llamaremos entradas.
-
Ustedes ya hicieron algo parecido a esto.
-
En la unidad 1, aprendieron a usar find con las cadenas.
-
con find podían pasar una o dos entradas.
-
La primera entrada era una cadena.
-
Esa fue la cadena en la que estaban buscando, esa fue la primera entrada,
-
y la segunda entrada podía ser la posición desde donde empezar a
-
buscar dentro esa cadena.
-
Usamos find en varias formas en la unidad 1, así como ustedes
-
la usaron por su cuenta en la tarea de la unidad 1.
-
Find es un poco diferente del procedimiento que define uno por su cuenta.
-
Antes que nada, es interno.
-
La otra cosa que era diferente es que en lugar de tener simplemente find tuvimos
-
otra entrada que estaba por aquí.
-
Tenemos la cadena en la que estamos haciendo la busqueda, digamos
-
que era la variable page- esa fue otra entrada a buscar.
-
En una clase posterior hablaremos porque está hecha diferente, pero es
-
muy similar llamar un procedimiento donde una de las entradas esta por aquí.
-
y la otra por aquí.
-
Esto es un poco diferente de eso y no trataremos más en este curso, pero
-
en un curso posterior aprenderás más acerca de que significa esto realmente.
-
En todos los procedimientos que definan por su cuenta, no tendremos ningun
-
objeto sobre el cual invocarlos.
-
Simplemente tendremos el procedimiento a llamar y los argumentos, operandos o entradas,
-
como quieran llamarlos, para pasarlos.
-
Veamos como funciona con un simple procedimiento.
-
voy a definir el procedimiento rest_of_string y le daremos el
-
parámetro s, eso significa que toma una entrada y vamos a usar el
-
nombre s para referirnos al valor de esa entrada.
-
Haremos que retorne la cadena desde el primer caracter hasta final.
-
usaremos la operador indexado return s[1:]
-
Esto evaluará la cadena con la primera letra removida, es decir toda la cadena desde
-
la posición uno hasta el final de la cadena.
-
Eso es lo que retornamos.
-
Entonces, la salida de rest_of_string es la nueva cadena que empieza desde
-
la segunda letra de la cadena de entrada.
-
Aqui tienen un ejemplo de como usar este procedimiento.
-
Podríamos llamarlo directamente.
-
podríamos decir print rest_of_string
-
ese es nuestro procedimiento.
-
Ahora vamos a tener nuestro parentesis y vamos a pasar la entrada.
-
Hay un parámetro de rest_of_string, entonces necesitamos una entrada
-
y esa sería string
-
pasaremos la cadena audacity.
-
Lo que sucede cuando llamamos a un procedimiento como este, es que la ejecución
-
salta al cuerpo de procedimiento.
-
podemos pensar acerca de lo que el intérprete está haciendo ahora.
-
En lugar de ejecutar el código aquí, el intérprete se moverá
-
cuando llama al procedimiento, y saltará para ejecutar el código dentro del procedimiento.
-
Asignará los valores a los parámetros pasados como entradas.
-
podemos concebir esto como una asignación que dice ahora el valor de
-
s es el valor de esta entrada que fue pasada.
-
Ahora vamos a evaluar el cuerpo del procedimiento.
-
En este caso hay una sola sentecia, la sentencia return,
-
vamos a encontrar este valor, así s[1:]
-
El resultado de esto va a ser la cadena udacity.
-
Luego tendremos la sentencia return.
-
Lo que return significa es que vamos a saltar de regreso,
-
de regreso a donde llamamos al procedimiento, pero ahora de verdad
-
tenemos un resultado.
-
Cuando saltamos de regreso, el valor que es evaluado es cualquier valor que
-
retornamos.
-
En este caso, es la cadena udacity.
-
Entonces no tenemos nuestro auto que se conduce solo,
-
pero ahora podemos definir y usar procedimientos.
-
Este es de verdad un concepto poderoso.
-
Cualquier cosa que hagamos en lo que queda del curso y cualquier cosa
-
que casi cualquiera hace en la programación de computadoras está relacionado con definir
-
y usar procedimientos.
-
Ahora deberíamos tener una gran sonrisa.
-
Podemos pensar acerca de los procedimientos como el mapeo de entradas a salidas.
-
Podemos pensar acerca de los humanos que también mapean entradas a salidas.
-
Tenemos entradas viniendo a través de nuestros ojos, de
-
nuestra boca, quizá incluso a través de nuestra nariz.
-
No intentaré mencionar ninguna de las salidas de nuestro procedimiento humano, pero dado que
-
el procedimiento es un concepto importante, vamos a tener varias
-
pruebas para verificar que los entendimos bien.