¿Qué son las funciones de Python y cómo se utilizan?

Última actualización
07 Feb 2023
Tiempo de lectura
7 min
funciones de Python

Conoce los aspectos básicos de las funciones de Python y aprende cómo definir y usar tus propias funciones.

Hombre con laptop y libro sobre Python

Fuente: Unsplash

A la hora de escribir un programa, a menudo necesitamos repetir el mismo código una y otra vez para diferentes entradas. Para evitar duplicaciones, Python permite invocar una función predeterminada para aprovechar el código que contiene. Las funciones ayudan a reducir la cantidad de líneas en un código, facilitan el proceso de depuración y permiten crear programas más legibles y fáciles de mantener.

 

¿Qué son las funciones de Python y para qué sirven?

Siendo estructuras esenciales del código, las funciones permiten definir un bloque de código reutilizable que se puede ejecutar muchas veces dentro de un programa. Se trata de una estructura que agrupa partes del código creando soluciones modulares para problemas complejos.

Las funciones en Python cumplen objetivos específicos definidos por el usuario o por el lenguaje. Reciben como parámetros datos de entrada llamados argumentos, que se indica por el usuario o por defecto, los procesan y devuelven datos de salida.
Las funciones en Python sirven para:

  • Dividir y ordenar el código en partes más sencillas para depurar y programar con mayor facilidad.
  • Reutilizar el código, evitando repeticiones innecesarias en un programa.

 

Tipos de funciones en Python

Imagen de código

Fuente: Unsplash

Podemos distinguir dos tipos de funciones:

  • Nativas (Built-in finctions): opciones disponibles que ya están integradas en Python.
  • Personalizadas: creadas por el usuario. Para usarlas, necesitas definir las funciones que cumplan con las necesidades de tu proyecto.

Veamos unos ejemplos de las funciones nativas más utilizadas de Python para procesar datos textuales y numéricos. Al llamar una función, solamente indicamos los valores con los que va a operar:

# print() muestra el argumento en pantalla.
print ("Hola")
Hola

# len() determina la cantidad de caracteres en una cadena.
len("Hola Python")
11

# range() crea un rango de números.
# list() crea un listado a partir de un elemento.
x = range (5)
print (list(x))
[0, 1, 2, 3, 4]

# max() determina el valor máximo entre un grupo de números.
x = [0, 1, 2]
print (max(x))
2

# min() determina el valor mínimo entre un grupo de números.
x = [0, 1, 2]
print (min(x))
0

# sum() suma el total de un listado de números.
x = [0, 1, 2]
print (sum(x))
3

A continuación, veremos cómo crear e invocar tus propias funciones.

 

¿Cómo definir una función en Python?

Programador trabajando en una computadora

Fuente: Freepik

Una función se declara mediante la siguiente sintaxis:

def nombre (parámetro):
    bloque de código
    return
  1. Para crear una nueva función en Python, se utiliza la palabra reservada def.
  2. Luego se le asigna un nombre o identificador que se utilizará para invocarla.
  3. Después del nombre se incluye entre paréntesis un listado opcional de parámetros.
  4. La cabecera de la función termina con dos puntos.
  5. En las siguientes líneas con un sangrado mayor viene el cuerpo de la función, es decir, una secuencia de sentencias que ejecutan una operación.
  6. Por último, de manera opcional, se añade la palabra reservada return para devolver un resultado.

Una vez definida la función, puedes reutilizarla varias veces en todo tu programa.

Ahora, como ejemplo, podemos crear una función sencilla de suma con dos parámetros:

def suma(a, b):
    resultado = a + b
    return resultado

Para obtener el resultado, invocamos la función escribiendo su nombre, indicamos argumentos para parámetros entre paréntesis y ordenamos a “imprimir” para observar el resultado en pantalla:

print(suma(3,7))
10

¿Cómo se utiliza o cómo se llama una función?

 

Hombre escribiendo en el teclado

Fuente: Freepik

Esta herramienta puede resultar muy útil y permite crear módulos de soluciones listas para usar en cualquier momento. Veamos más ejemplos de uso de las funciones y qué posibilidades nos dan.

La siguiente función no requiere argumentos ni retorno:

def bienvenida():
    print("¡Bienvenid@ a Python!")

Para aplicar la función que acabamos de definir, basta con invocar su nombre.

bienvenida()
¡Bienvenid@ a Python!

Si le agregamos un parámetro a la función, a la hora de llamar la función tenemos que ingresar un argumento:

def bienvenida(nombre):
    print("¡Bienvenid@ a Python " + nombre + "!")

bienvenida("José")
¡Bienvenid@ a Python José!

Si hay varios argumentos, podemos agregarlos de dos formas:

  • Posicional: Los argumentos se agregan en el mismo orden en que aparecen los parámetros correspondientes en la definición de la función.
  • Nominal: Sin importar el orden, se especifica el nombre del parámetro al que se asocia un argumento.
def bienvenida(nombre, apellido):
    print("¡Bienvenid@ a Python " + nombre, apellido + "!")

bienvenida("José", "López")
¡Bienvenid@ a Python José López!

bienvenida(apellido="Lopéz", nombre="José")
¡Bienvenid@ a Python José López!

A cada parámetro se le puede asignar un argumento por defecto. Si se llama a la función sin atribuir un argumento a ese parámetro, se utilizará un argumento por defecto.

def bienvenida(nombre, lenguaje = "Python"):
    print("¡Bienvenid@ a " + lenguaje, nombre + "!")

bienvenida("Josh")
¡Bienvenid@ a Python Josh!

bienvenida("Josh", "Java")
¡Bienvenid@ a Java Josh!

A veces se necesita crear una función con una serie de argumentos indeterminados para un parámetro. Para hacerlo, anteponemos un asterisco al nombre del parámetro y al invocar la función agregamos argumentos separados por comas.

 
def saludo(*nombres):
    for nombre in nombres:
        print("¡Hola " + nombre + "!")

saludo("José", "Mónica", "Josh")
¡Hola José!
¡Hola Mónica!
¡Hola Josh! 

Cuando una función está definida para realizar un cálculo, por ejemplo, y necesitamos que retorne un valor, se usa la sentencia return:

 
def cuadrado (x):
    cuadrado = x ** 2
    return cuadrado

print (cuadrado (5))
25 

Si el código no tiene una sentencia de retornar el valor, la función no devuelve nada. Si ejecutamos la función anterior, aparecerá None en pantalla.

def cuadrado (x):
    cuadrado = x ** 2

print (cuadrado (5))
None 

Python también permite devolver múltiples valores:

def cuadrado_y_cubo (x):
    cuadrado = x ** 2
    cubo = x ** 3
    return cuadrado, cubo

print (cuadrado_y_cubo(5))
25, 125 

Las funciones definidas no pueden estar vacías, pero si por alguna razón tienes una definición de función sin contenido, por ejemplo, si quieres reservarla para más tarde, agrega la sentencia pass para evitar un error.

def función_reservada():
    pass

Conclusión

Hombre y mujer trabajando en una computadora

Fuente: Unsplash

Las funciones tienen varias ventajas:

  • Al crear una nueva función, defines un bloque de sentencias para hacer que tu programa sea más fácil de leer, entender y depurar.
  • Las funciones ayudan a reducir líneas repetitivas. Te permiten escribir el código solo una vez.
  • Dividiendo un programa largo en funciones, puedes revisarlo y depurarlo por partes antes de armar un código entero.
  • Las funciones bien diseñadas pueden servir para muchos programas. Una vez escrita, puedes reutilizar la función cuando quieras.
Página de inicio / Programación & Data
Python para análisis de datos

Aprende uno de los lenguajes de programación más versátiles y accesibles en la analítica, maneja grandes cantidades de datos de forma automatizada. Agiliza tu trabajo con esta poderosa herramienta, integra tus sistemas, procesa datos más rápido y en diferentes formatos.

06 Feb 2023
2 meses
12x de
$ 417 MXN
(a meses sin intereses con tarjeta de crédito)
Costo por curso completo
$ 4,999 MXN
$ 8,332 MXN
Intégrate al curso
Comparte tu opinión
Notificar sobre comentarios

O como invitado

Suscribiete Suscribiete Suscribiete Suscribiete Suscribiete

Más artículos relacionados

¿Qué es HTML5 y para qué sirve?

En este artículo veremos las nuevas características y funciones de HTML5, la última versión de HTML, una tecnología fundamental para construir páginas en internet.

22 Mar 2023
4 min
Back End y Front End: en qué se diferencian y cuál es mejor

Back End Vs Front End: como elegir uno y no arrepentirse.

22 Mar 2023
7 min
22 Mar 2023
7 min
Ciclos en Python: cómo funcionan los bucles For y While y cómo hacerlos

En este artículo aprenderás lo esencial sobre los bucles For y While en Python, cómo funcionan y para qué sirven.

22 Mar 2023
7 min
Java o Python: ¿qué lenguaje de programación es mejor para aprender?

Python o Java: en un gran debate a nivel mundial cada desarrollador defiende su punto de vista.

07 Feb 2023
8 min
¿Qué es el desarrollo web y qué incluye?

Conviértete en un desarrollador web para estar en el tope de las profesiones con mayor demanda.

07 Feb 2023
7 min
¿Qué perfiles IT buscan las empresas?

La demanda de los especialistas en áreas tecnológicas sigue superando la oferta, convirtiendo el sector IT en un sector sin desempleo.

06 Feb 2023
8 min