Funciones en Python

Por user Jean Carlos Mariños Urquiaga
Funciones en Python

Aprende a crear y utilizar funciones de manera correcta en Python.

Crear funciones es algo inevitable en cualquier tipo de aplicación.

"Una función es una porción o bloque de código reutilizable que se encarga de realizar una determinada tarea."

Python es un lenguaje que nos da mucha flexibilidad al momento de crear funciones, en esté tutorial se darán cuenta porque.

Sintaxis

Para empezar primero veremos como podemos definir o declarar una función.


def sumar():
    pass

Para declarar una función solo se debe poner la palabra "def" seguido del nombre de la función, para el ejemplo le hemos puesto "sumar", en los paréntesis deben ir los parámetros, ya hablaremos de eso más adelante, por último la palabra "pass" es el contenido de la función. Siempre tengan en cuenta la identación dentro de la función.

Para terminar con la función antes declara vamos a agregar el contenido.


def sumar():
    print 5 + 10

sumar()

Con esto tenemos una función que suma 5 + 10, para llamar o activar a esta función, ponemos el nombre la función seguido de paréntesis.

Parámetros

Si bien en el ejemplo anterior creamos una función que suma 5 + 10 eso no es suficiente, ahora vamos a enviarle parámetros a esa función y sumar los datos que le enviemos. Ahora el código.


def sumar(number1, number2):
    print number1 + number2

sumar(10, 15) # 25

Con esto nuestra función sumar ahora recibe 2 parámetros, si ejecutan esto verán que el resultado es 25. Sigamos viendo más variaciones en los parametros.


def sumar(number1, number2=20):
    print number1 + number2

sumar(10, 15) # 25
sumar(10) # 30

En este caso el parámetro number2 tiene un valor por defecto, esto quiere decir que cuando NO se le envie ese parámetro a la función, por defecto number2 tomará el valor de 20.

Orden de los parámetros

Cuando enviamos parámetros a una función, damos por hecho que el primer valor siempre va al primer parámetro, el segundo valor con el segundo parámetro, y así con todo los que haya, pero esto es algo que podemos cambiar gracias a Python. Veamos.


def sumar(number1, number2=20):
    print number1 # 15
    print number2 # 10
    print number1 + number2

sumar(number2=10, number1=15) # 25

Al momento de llamar a la función, explícitamente le estamos diciendo que parámetro va a tomar que valor, para verificar esto, impriman number1 y number2 y verán el valor que tienen. Ya saben que no es necesario seguir el orden de los parámetros en la función, pueden enviar los parámetros en el orden que deseen pero siempre poniendo explícitamente el nombre del parámetro.

Por último veamos que también podemos enviar listas como parámetro.

Enviando listas como parámetro


def sumar(numbers):
    result = 0
    for number in numbers:
        result += number
    print result

sumar([4,5]) # 9

Con esto le podemos pasar la cantidad de elementos que queramos a la lista y la función sumara todos los elementos.

Recibir diccionarios como parámetro


def sumar(**numbers):
    print numbers # {'number1' : 10, 'number2' : 20}
    print numbers['number1'] + numbers['number2']

sumar(number1=10, number2=20) # 30

De esta forma podemos enviar varios parámetros, y tomarlos en una sola variable.

Como vieron, las funciones en Python tienen distintas variaciones y ustedes, elegirán la mejor opción de acuerdo al proyecto que estén realizando. Si quieren aprender más acerca de Python, los invito al Curso de Python en DevCode.

user

Jean Carlos Mariños Urquiaga

Backend Developer | Python / Django - Javascript / Node.js