Вы находитесь на странице: 1из 5

Funciones

"Una función es una porción o bloque de código reutilizable que se encarga de realizar
una determinada tarea."
Una función, es la forma de agrupar expresiones y sentencias (algoritmos) que realicen
determinadas acciones, pero que éstas, solo se ejecuten cuando son llamadas. Es decir,
que, al colocar un algoritmo dentro de una función, al correr el archivo, el algoritmo no
será ejecutado si no se ha hecho una referencia a la función que lo contiene.

Definiendo funciones
En Python, la definición de funciones se realiza mediante la instrucción def más un
nombre de función descriptivo -para el cuál, aplican las mismas reglas que
para el nombre de las variables- seguido de paréntesis de apertura y cierre.
Como toda estructura de control en Python, la definición de la función finaliza con
dos puntos (:) y el algoritmo que la compone, irá identado con 4 espacios:

Sintaxis
def nombre_función():

# aquí el algoritmo

Para declarar una función solo se debe poner la palabra "def" seguido del nombre
de la función y paréntesis, por último, el contenido de la función. Siempre tengan
en cuenta la identación dentro de la función.

Una función, no es ejecutada hasta tanto no sea invocada. Para invocar una
función, simplemente se la llama por su nombre.
Ejemplo 1:

#Definimos la función
def mi_funcion():
#Escribimos el código que compone a la función
print("Hola, este en un texto que se ha escrito dentro de una función")

mi_funcion() #Se hace el llamado de la función

Al ejecutar este código, solo imprime en pantalla el texto: "Hola, este en un texto que se
ha escrito dentro de una función", porque es lo único que compone a la función
Ejemplo 2:

Con esto tenemos una función que suma 5 + 10, para llamar o activar a esta
función, ponemos el nombre la función seguido de paréntesis.

Función con parámetros


Si bien en el ejemplo anterior creamos una función que suma 5 + 10 eso no es
suficiente, ahora vamos a enviarle parámetros a esa función y sumar los datos que
le enviemos. Ahora el código.

Con esto nuestra función sumar ahora recibe 2 parámetros, si ejecutan esto verán
que el resultado es 25. Sigamos viendo más variaciones en los parámetros.
En este caso el parámetro number2 tiene un valor por defecto, esto quiere decir
que cuando NO se le envié ese parámetro a la función, por
defecto number2 tomará el valor de 20.

Orden de los parámetros


Cuando enviamos parámetros a una función, damos por hecho que el primer valor
siempre va al primer parámetro, el segundo valor con el segundo parámetro, y así
con todo los que haya, pero esto es algo que podemos cambiar gracias a Python.
Veamos:

Al momento de llamar a la función, explícitamente le estamos diciendo, qué


parámetro va a tomar cada valor, para verificar esto, impriman number1 y
number2 y verán el valor que tienen. Ya saben que no es necesario seguir el
orden de los parámetros en la función, pueden enviar los parámetros en el orden
que deseen, pero siempre poniendo explícitamente el nombre del parámetro.

Por último, veamos que también podemos enviar listas como parámetro.
Enviando listas como parámetro

Con esto le podemos pasar la cantidad de elementos que queramos a la lista y la


función sumara todos los elementos.

Llamadas Recursivas
Se denomina llamada recursiva (o recursividad), a aquellas funciones que, en su
algoritmo, hacen referencia sí misma.

Las llamadas recursivas suelen ser muy útiles en casos muy puntuales, pero debido
a su gran factibilidad de caer en iteraciones infinitas, deben extremarse las medidas
preventivas adecuadas y, solo utilizarse cuando sea estrictamente necesario y no
exista una forma alternativa viable, que resuelva el problema evitando la
recursividad.

Python admite las llamadas recursivas, permitiendo a una función, llamarse a sí


misma, de igual forma que lo hace cuando llama a otra función.

def jugar(intento=1):

respuesta = raw_input("¿De qué color es una naranja? ")

if respuesta != "naranja":

if intento < 3:

print "\nFallaste! Inténtalo de nuevo"

intento += 1

jugar(intento) # Llamada recursiva


else:

print "\nPerdiste!"

else:

print "\nGanaste!"

jugar()

Вам также может понравиться