Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Parámetros de funciones Funciones y lógica en Python

Las funciones en Python no solo pueden devolver valores, sino que también pueden recibir parámetros. Esto significa que podemos hacer que una función trabaje con diferentes valores sin necesidad de escribir varias versiones de la misma.

Parametrs

Parámetros en funciones que ya conocemos

Seguro ya has usado funciones que aceptan parámetros sin darte cuenta.

Mira estos ejemplos:

# La función print() acepta un solo parámetro de cualquier tipo
print('Soy un parámetro')

# El método replace() acepta dos parámetros tipo string:
# El primero es lo que buscamos, el segundo es por qué se reemplaza
'google'.replace('go', 'mo')  # Resultado: 'moogle'

# La función round() trabaja con números:
# El primer parámetro es el número que queremos redondear
# El segundo es la cantidad de decimales
round(10.23456, 3)  # Resultado: 10.235

Cada una de estas funciones necesita que le pasemos información adicional para poder funcionar correctamente.


Definir nuestra propia función con parámetro

Imaginemos que necesitamos crear una función llamada get_last_char(), que reciba un texto y devuelva su último carácter.

Ejemplo de cómo queremos que funcione:

get_last_char("Códica")  # a
get_last_char("Goo")  # o

Para que esto funcione, sabemos que:

  • Debemos definir la función get_last_char().
  • La función debe aceptar un parámetro tipo string.
  • La función debe devolver el último carácter del texto.

Implementación

Así se define nuestra función:

def get_last_char(text):
    return text[-1]

Explicación:

  1. La palabra clave def indica que estamos definiendo una función.
  2. text es el parámetro que recibirá la función (puede tener cualquier nombre, pero debe ser descriptivo).
  3. Dentro del cuerpo de la función, usamos text[-1] para obtener el último carácter y lo devolvemos con return.

Ahora probemos:

get_last_char('Códica')  # a
get_last_char('code')  # e

Si pasamos una variable como argumento, funciona igual:

texto = 'Winter is coming'
get_last_char(texto)  # g

Parámetros son Obligatorios

Si intentamos llamar la función sin un parámetro, Python nos dará un error.
get_last_char()  
# TypeError: get_last_char() missing 1 required positional argument: 'text'

Funciones con Múltiples Parámetros

Algunas funciones necesitan más de un parámetro. Por ejemplo round():

round(10.23456, 3)  # 10.235

El método replace() también usa dos parámetros:

'google'.replace('go', 'mo')  # moogle

Si nosotros quisiéramos definir una función parecida a replace(), lo haríamos así:

def replace(text, from_, to):
    return text.replace(from_, to)

replace('google', 'go', 'mo')  # moogle

Aquí hemos definido replace(text, from_, to), donde:

  • text es la cadena en la que se hará el cambio.
  • from_ es el texto a buscar.
  • to es el texto por el que se reemplazará.

Este detalle es importante: el orden de los parámetros importa. Si pasamos los parámetros en un orden incorrecto, no obtendremos el resultado esperado:

replace('google', 'mo', 'go')  # google (no hace nada porque 'mo' no está en 'google')

Resumen

  • Los parámetros permiten que las funciones trabajen con valores dinámicos.
  • Debes pasar todos los parámetros requeridos, de lo contrario, Python generará un error.
  • Puedes definir funciones con varios parámetros separados por comas.
  • El orden de los parámetros es importante, cambiarlo puede alterar el resultado.
  • Usar buenos nombres de parámetros hace que las funciones sean más comprensibles.

Ahora ya puedes crear funciones más flexibles y reutilizables. ¡A practicar!

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY