3 usuarios conectados

Definición y llamada de funciones en Python

Comparte esto

Ahora vamos a adentrarnos en el concepto fundamental de funciones en Python. Las funciones son bloques de código reutilizables que realizan una tarea específica. Permiten organizar el código, hacerlo más legible, evitar la repetición y facilitar la modularidad.

Definición de Funciones:

Para definir una función en Python, se utiliza la palabra clave def, seguida del nombre de la función, 1 paréntesis () que pueden contener parámetros (entradas de la función), y dos puntos :. El bloque de código que constituye la función se define con indentación.  

La sintaxis básica es:

Python
 
def nombre_de_la_funcion(parametro1, parametro2, ...):
    """Docstring de la función (opcional, pero recomendado)"""
    # Bloque de código de la función
    instruccion1
    instruccion2
    # ...
    return valor_de_retorno (opcional)

Ejemplos de Definición de Funciones:

  1. Función sin parámetros y sin retorno:

    Python
     
    def saludar():
        """Imprime un saludo simple."""
        print("¡Hola!")
    
    saludar()  # Llamada a la función
    

    Salida:

    ¡Hola!
    
  2. Función con un parámetro y sin retorno:

    Python
     
    def saludar_nombre(nombre):
        """Saluda a la persona con el nombre proporcionado."""
        print(f"¡Hola, {nombre}!")
    
    saludar_nombre("Ana")  # Llamada a la función con un argumento
    saludar_nombre("Carlos")
    

    Salida:

    ¡Hola, Ana!
    ¡Hola, Carlos!
    
  3. Función con dos parámetros y con retorno:

    Python
     
    def sumar(a, b):
        """Devuelve la suma de dos números."""
        resultado = a + b
        return resultado
    
    suma1 = sumar(5, 3)  # Llamada a la función y asignación del valor de retorno
    print(f"La suma es: {suma1}")  # Salida: La suma es: 8
    
    suma2 = sumar(10, -2)
    print(f"La suma es: {suma2}")  # Salida: La suma es: 8
    
  4. Función que devuelve múltiples valores (en una tupla):

    Python
     
    def obtener_estadisticas(numeros):
        """Devuelve el mínimo, máximo y la suma de una lista de números."""
        if not numeros:
            return None, None, 0
        minimo = min(numeros)
        maximo = max(numeros)
        suma = sum(numeros)
        return minimo, maximo, suma
    
    datos = [1, 5, 2, 8, 3]
    min_val, max_val, total = obtener_estadisticas(datos)
    print(f"Mínimo: {min_val}, Máximo: {max_val}, Suma: {total}")
    # Salida: Mínimo: 1, Máximo: 8, Suma: 19
    

Llamada de Funciones:

Para ejecutar el código dentro de una función, necesitas llamar a la función utilizando su nombre seguido de paréntesis (). Si la función espera argumentos, debes proporcionarlos dentro de los paréntesis.

Ejemplos de Llamada:

Python
 
def presentar(nombre, edad):
    """Presenta a una persona con su nombre y edad."""
    print(f"Mi nombre es {nombre} y tengo {edad} años.")

# Llamada con argumentos posicionales
presentar("Sofía", 28)  # Salida: Mi nombre es Sofía y tengo 28 años.

# Llamada con argumentos de palabra clave
presentar(edad=35, nombre="Javier")  # Salida: Mi nombre es Javier y tengo 35 años.

# Combinación (los posicionales deben ir primero)
def describir_mascota(nombre, tipo="perro"):
    """Describe una mascota, el tipo tiene un valor por defecto."""
    print(f"Mi mascota se llama {nombre} y es un {tipo}.")

describir_mascota("Rocky")  # Usa el valor por defecto para tipo
describir_mascota("Mittens", "gato")  # Sobrescribe el valor por defecto
describir_mascota(nombre="Lola", tipo="loro")  # Usa argumentos de palabra clave

Las funciones son un pilar fundamental de la programación en Python. Permiten escribir código más organizado, reutilizable y fácil de mantener. A medida que avancemos, exploraremos conceptos más avanzados relacionados con las funciones, como el ámbito de las variables, los argumentos variables (*args, **kwargs), las funciones lambda y los decoradores.