¿Qué es una función?
- Simplifican el código de programación.
- Hacen al programa más claro, más lógico.
- Pueden reciclarse, usarse en otros programas.
- Dividen los problemas en otros más sencillos.
- Pueden ejecutarse varias veces desde el programa principal (son algoritmos secundarios).
- Ahorran memoria y hacen los programas menos extensos.
def miFuncion(): orden primera orden segunda etc...De forma parecida a otros bloques, como los IF o los FOR, empiezan por la palabra reservada def , el nombre de la función y paréntesis (abre y cierra) con dos puntos. Tabuladas, se ponen en orden las instrucciones a ejecutar.
Si acepta valores de entrada o argumentos, los nombres de los mismos van entre los paréntesis y separados por comas.
def imprimeIndiceMasaCorporal (peso, altura): IMC = peso / (altura ** 2) print IMCSi devuelve un valor, se usa la palabra reservada return
def imprimeIndiceMasaCorporal (peso, altura): IMC = peso / (altura ** 2) return IMC
Ejemplo 1. Ejemplo de función retornando la suma de dos elementos
# *-* coding: utf-8 *-*
miNumero = int(raw_input("Dime un numero del 2 al 10: "))
miNumero2 = int(raw_input("Dime un numero del 2 al 10: "))
def suma(a, b):
return a + b
for i in xrange(1, miNumero + 1):
for j in xrange(1, miNumero2 + 1):
print ("La suma de: " + str(i) + " y " + str(j) + " = " + str(suma(i, j)))
Funciones de múltiples resultados
# *-* coding: utf-8 *-*
def segA(sec):
# Esta función es capaz de pasar los segundos
# a horas minutos y segundos
hs = sec / 3600
minu = (sec % 3600) / 60
seg = (sec % 3600) % 60
return (hs, minu, seg)
segundos = int(raw_input("Introduce el números de segundos que han pasado: "))
(hora, minutos, segundos) = segA(segundos)
print ("%d:%d %d\"") % (hora, minutos, segundos)