Es un hecho que para optimizar código, tiempo y recursos en la elaboración de un proyecto o programa se traduce de manera más simple si los mismos pudieran ser subdivididos en “subprogramas” y que los mismos trabajen en sincronía para la más factible y eficaz respuesta. Para ellos la mayoría de los lenguajes de programación manejan lo que se conocen como funciones y procedimientos, los cuales son algoritmos que están inmersos en el proyecto y trabajan con el mismo de forma sincronizada cada que se le requiera de forma individual cumpliendo tareas específicas para la obtención de una respuesta o resultado requerido.

El algoritmo o programa invoca la función con el nombre de esta última en una expresión seguida de una lista de argumentos que deben coincidir en cantidad, tipo y orden con los de la función que fue definida.

Declaración:

Para declarar una función en el lenguaje de programación de Python se propone la palabra reservada "def " seguido del nombre que se desea que tenga la respectiva función, por lo general un nombre asociado a la tarea determinada que va a ejecutar, luego se escribe a continuación paréntesis de apertura y cierre, dentro de ellos los respectivos parámetros que requerirá el subprograma o función para su ejecución cada parámetro separado por una coma "(parametro_1 , parametro_2)”. Por último los dos puntos “ : ” dando a entender que el trozo de código o algoritmo dentro de esta sentencia pertenece a la respectiva función. Una función es definida así por devolver una determinada respuesta específica dependiendo las variaciones en el trozo de código de la misma función, por lo que al final de la misma función se coloca la palabra reservada “return ” y a continuación el dato o respuesta final.

Ejemplo:

#Declaracion de la funcion

def par_o_impar(numero):
	if numero%2==0:

		#EL OUTPUT DEL SUBPROGRAMA SERA ENTONCES ===> True si es par
		return True

	else:
		# O False si es impar
		return False

numero=7

#Invocacion de la funcion
if par_o_impar(numero)==True:
	print("El numero es par")
else:
	print("El numero es impar")

#PARA ESTE CASO EL OUTPUT DEL PROGRAMA ENTONCES DEVOLVERA ===> El numero es impar

Procedimientos

#Se declara el procedimiento
def is_par(logico):

	if logico==True:
		print("El numero es par")

	else:
		print("El numero es impar")

numero=7

#Llamamos a la funcion del ejemplo anterior

is_par(par_o_impar(numero))
#Para este caso, el output del programa devolvera ===> El numero es impar

Funciones Lambda:

Las funciones lambda a las que también se les conoce como funciones anónimas, es una forma de definir funciones en línea. La principal razón para emplear este tipo de estructura como función en un programa es principalmente para crear funciones “no complejas” de forma más corta , precisa, ordenada y optimizada. Una función lambda solo soporta la ejecución de tareas sencillas, es decir sin condicionales o loops. Una de las funcionalidades que se les da a las mismas es el de hacer cálculos por ejemplo.

Para declarar una función de manera sencilla es utilizando una variable seguido del igual, luego se escribe la palabra reservada “lambda” seguido de la cantidad de parámetros que necesita la respectiva función para su ejecución, luego dos puntos ":" especificando que la instrucción de la función es la siguiente de esta y posteriormente se escribe la instrucción.

Entonces, para llamar o invocar a una determinada función lambda con una instrucción se debe referirse a ella utilizando la variable que contiene a la misma utilizada en su declaramiento, y pesarle por parámetro el o los datos necesarios para la eficaz ejecución de la misma.

  Algunos ejemplos serían los siguientes: