Las funciones se utilizan para almacenar operaciones o ejecuciones que normalmente se requieren reutilizar en distintos procesos, esto hace que no se escriba más código.

Para definir una función se utiliza la palabra reservada def y el nombre de la función()

def funcion():
	print('Python')
funcion() #Se llama de esta manera

Parámetros en funciones

Los parámetros son importantes si se acostumbra a trabajar con distintos valores en los procesos que se realizan.

Se pueden asignar cantidades ilimitadas de parámetros dentro de las funciones.

def funcion(param1, param2): #Puedes asignar el nombre que quieras a los parámetros
	print(param1, param2)
funcion('Curso' 'Python')

Parámetros por defecto

También puedes asignar un valor a un parámetro cuando se asigna la función.

def funcion(param1 = 'Hola', param2= 'Python'):
	print(param1, param2)
funcion(param1, param2)

Orden de parámetros

También puedes cambiar el orden de los parámetros cuando se llama a la función.

def funcion(param1, param2):
	print(param1, param2)
funcion(param2 = 'hola', param1 = 'Python'

Parámetros como tuplas

Estos parámetros se agregan opcionalmente, es decir, cuando se llama una función y no se encuentran estos parámetros, esto no generará un error y la función se ejecutará de manera normal.

def funcion(param1, param2, *param_opcionales): #Se agrega el * para que se ingresen dentro de la tupla
	print(param1, param2, param_opcionales)
funcion('Curso' ,'Python', 1,2,3,4,5) #Se puede agregar cualquier tipo de dato

Parámetros como diccionarios

Puedes asignar valores e incluirlos dentro de la función como un parámetro opcional.

def funcion(param1, param2, **param_opcionales) #A diferencia de las tuplas, se agrega doble asterícso
	print(param1, param2, param_opcionales)
	#print(param_opcionales['Clave']) #Puedes obtener solo un valor del diccionario
funcion(1,2,clave = 'Clave', valor = 'Valor')

Return