Definición y uso de funciones en Python con argumentos y return
Clase 26 de 32 • Curso de Fundamentos de Python
Resumen
Domina las funciones en Python para escribir código claro, modular y reutilizable. Aquí verás cómo definir con def, invocar con paréntesis, personalizar con argumentos y parámetros, usar valores por defecto, devolver resultados con return y preparar funciones vacías con pass. Todo con ejemplos simples y directos.
¿Qué es una función en Python y cómo se define?
Una función es un bloque de código que solo se ejecuta cuando la llamamos. Se define con def y un nombre, seguido de dos puntos, e incluye instrucciones indentadas que se correrán al invocarla. Al llamarla, abrimos y cerramos paréntesis para ejecutar la acción. Llamarla varias veces repite su efecto, lo que fomenta la reutilización y la modularización.
# definir
def mi_funcion():
print("Hola mundo desde una función")
# invocar (se ejecuta cada vez que se llama)
mi_funcion()
mi_funcion()
¿Cómo se invoca una función con paréntesis?
- Escribe el nombre y agrega ().
- Los paréntesis indican a Python que ejecute la acción.
- Llamadas repetidas se ejecutan tantas veces como aparezcan.
¿Por qué es clave la modularización y reutilización?
- Ahorra muchas líneas de código.
- Separa responsabilidades en bloques claros.
- Facilita mantener y escalar programas.
¿Cómo personalizar con argumentos y parámetros?
Para personalizar, se añaden argumentos en la definición. Por ejemplo, un nombre que se usa dentro de la función. Si no se usa, suele verse “apagado” en el editor, indicando que debería aprovecharse o eliminarse.
- Argumentos: variables que la función “espera” en su definición.
- Parámetros: valores que “le pasamos” al llamarla.
- En la práctica, muchas veces se usan indistintamente.
# un argumento
def saludar(nombre):
print("Hola,", nombre)
saludar("Pedro")
saludar("María")
Si se esperan varios argumentos, el orden importa. Faltará un argumento obligatorio si no lo pasas, y Python mostrará un error.
# varios argumentos y orden estricto
def saludar(nombre, apellido):
print(f"Hola, {nombre} {apellido}")
saludar("Pedro", "Sánchez")
saludar("María", "Gutiérrez")
¿Cómo usar valores por defecto para evitar errores?
Puedes asignar valores por defecto y así no fallará si omites alguno al llamar. Un caso útil es un string vacío para apellido o una nacionalidad por defecto.
# valores por defecto
def saludar(nombre, apellido="", nacionalidad="Colombia"):
# ejemplo de personalización con valores por defecto
if apellido:
print(f"Hola, {nombre} {apellido} de {nacionalidad}")
else:
print(f"Hola, {nombre} de {nacionalidad}")
saludar("Pedro", "Sánchez", "España") # Hola, Pedro Sánchez de España
saludar("María", "Gutiérrez") # Hola, María Gutiérrez de Colombia
saludar("Ana") # Hola, Ana de Colombia
¿Qué pasa si omites un argumento obligatorio?
- Python genera un error por argumento faltante.
- Solución: definir un valor por defecto o pasar todos los parámetros esperados.
¿Cómo devolver valores con return y qué hacer si no hay lógica aún?
Las funciones pueden devolver información con return. Si no asignas el resultado, no verás nada en pantalla. Asigna a una variable y luego imprime.
# devolver un valor
def sumar(a, b):
return a + b
resultado = sumar(2, 3)
print(resultado) # 5
Cuando aún no sabes qué hará una función, no la dejes vacía (provoca error de indentación). Usa pass para indicar que no hace nada por ahora.
def funcion():
pass # evita error mientras decides la lógica
¿Qué habilidades y keywords se practican?
- def: define funciones.
- Llamada con paréntesis: ejecuta la función.
- Argumentos y parámetros: personalizan el comportamiento.
- Orden de argumentos: cambia el resultado y es obligatorio respetarlo.
- Valores por defecto: previenen errores por faltantes.
- return: devuelve información útil.
- Asignación del resultado: guarda lo retornado para usarlo después.
- pass: evita errores mientras decides la implementación.
- Reutilización y modularización: organizan el código y ahorran líneas.
¿Te animas al desafío final? Comparte en los comentarios cómo harías para restar, multiplicar y dividir usando funciones, siguiendo el ejemplo de la suma.