En muchos lenguajes para definir una función usamos la sentencia function, pero en Python usamos la sentencia def
seguido del nombre de la función, luego abrimos y cerramos paréntesis y escribimos un símbolo de dos puntos. Por ejemplo, para hacer una función que imprima un mensaje, podemos usar algo como esto:
# Funcion para imprimir un mensaje
def mensaje():
print("Hola mundo")
# Llamar a la funcion
mensaje()
En la mayoría de los lenguajes de programación, el contenido de la función se delimita entre llaves {}
o un end
u otra palabra, pero en Python se define el fin de una función o cualquier otro bloque, usando espacios en blanco, usualmente 4 espacios o un caracter de tabulación.
Después de definir la función con la palabra reservada def
, la siguiente línea y todas las demás líneas que pertenecen a la función deben estar indentadas con los mimos 4 espacios o tab
.
Pero no te preocupes, los IDE’s como Atom están hechos para hacer esto de forma automática para ti. Como puedes ver en el código anterior, cuando llamamos a la función usando mensaje()
hemos eliminado los 4 espacios antes, porque este código ya no pertenece a la función.
Yo estoy usando como editor (ide) a Atom, y si tú lo estás usando y has instalado las extensiones para trabajar con Python, puedes crear un archivo con extensión .py
y guardar el código anterior, luego presionar la tecla F5 y podrás ejecutar el código.
Funciones con parámetros en python
Para recibir parámetros en una función debemos agregarlos entre los paréntesis, luego podemos usarlos dentro de la función como parámetros y además podemos regresar un valor usando la palabra return
, como en el siguiente ejemplo:
def sumar(a,b):
return a + b
# Llamar a la funcion
print( sumar(1,1) )
Parámetros opcionales en funciones de Python
También podemos definir un parámetro como opcional, al asignarle un valor, aquí tenemos un ejemplo:
def saludo(nombre = ''):
print ("Hola " + nombre)
# Llamar a la funcion sin parametros
saludo()
# Llamar a la funcion con parametros
saludo('Luis Cruz')
Ahora veamos qué pasa si la función tiene más de un parámetro opcional y solo queremos omitir uno de ellos. Lo que hacemos es llamar a la función, indicando el nombre del parámetro que enviamos, seguido de un signo =
y su valor.
def saludo(nombre = '', apellido = ''):
print ("Hola mi nombre es " + nombre + ' ' + apellido)
saludo(apellido ='Cruz')
saludo(nombre = 'Luis')
saludo(apellido = 'Cruz', nombre ='Luis')
Como vemos, no solo podemos decidir qué parámetro omitir, sino también, podemos alterar el orden de los parámetros que enviamos a la función.