sábado, 20 de septiembre de 2014

Tutorial de Python parte 13 - def y lambda crear funciones




A cotinuación veremos como definir funciones en Python. Una función es una estructura de código reutilizable que permite realizar una determinada acción, las funciones proporcionan una mejor modularidad para las aplicaciones gracias a la reutilización de código.

Para crear funciones se utilizar la palabra def ...


def saluda():
 return "Hola mundo"

print(saluda()) #regresa: Hola mundo


A las funciones podemos pasarle parámetros como se puede ver a continuación ...

def escribe(string):
 return string
 
print(escribe("Hola amigo")) #regresa: Hola amigo

Otro ejemplo en esta ocasión con dos parámetros ...

def multiplica(n1, n2):
 return n1 * n2

print(multiplica(2, 2)) #regresa: 4

También podemos incluir parámetros opcionales, incluyendo al parámetro un valor por defecto, el segundo parámetro n2 tendrá un valor por defecto igual a 0, así que no es obligatorio incluirlo al llamar a la función ...

def suma(n1, n2=0):
 return n1 + n2

print(suma(10)) #regresa: 10
print(suma(10, 5)) #regresa: 15

Podemos pasar por ejemplo una lista o un tuples como parámetro ...

def array(array):
 resultado = ''
 for value in array:
  resultado += str(value)
 return resultado

lista = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(array(lista)) #regresa: 0123456789


Python nos ofrece la posibilidad de incluir tantos parámetros como sean necesarios a través del *

def numeros(*num):
 for var in num:
  print(var, end=" ")
 
numeros(1, 2, 3, 4, 5, 6, 7, 8, 9) #regresa: 1 2 3 4 5 6 7 8 9


En python también podemos crear funciones en una sola línea y con una única instrucción con lambda ...

restar = lambda num1, num2: num1 - num2
  
print(restar(10, 5)) #regresa: 5