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

Última actualización
01 Jun 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
$ 527,50 MXN
a meses sin intereses con tarjeta de crédito
Precio total
$ 6.330 MXN
$ 10.550 MXN
Inscríbete al curso
Comparte tu opinión
Recibir notificaciones de otros comentarios

O como invitado

Suscribiete Suscribiete Suscribiete Suscribiete Suscribiete

Más artículos relacionados

22 Oct 2023
8 min
Bill Gates: La mente maestra detrás de Microsoft

Descubre cómo la increíble visión de Bill Gates transformó la tecnología para siempre.

22 Oct 2023
8 min
21 Sep 2023
8 min
¿Qué es DevOps?

Conoce el concepto de DevOps, cómo funciona y qué beneficios trae la cooperación de diferentes equipos IT.

21 Sep 2023
8 min
21 Sep 2023
7 min
Ada Lovelace: La vida y descubrimientos de la hija de lord Byron

Descubre cómo la hija de lord Byron marcó un hito en la historia de la programación.

21 Sep 2023
7 min
21 Sep 2023
7 min
¿Qué es el internet de las cosas?

Aprende cómo funciona la tecnología IoT, dónde se usa, cuáles son sus beneficios y posibles riesgos.

21 Sep 2023
7 min
21 Sep 2023
5 min
¿Qué es un objeto en programación?

Conoce el concepto del objeto en programación y aprende a crear uno para tu programa.

21 Sep 2023
5 min
21 Sep 2023
6 min
Frameworks: Marcos de trabajo para programadores

Descubre cómo puedes facilitar el desarrollo de una aplicación usando frameworks.

21 Sep 2023
6 min