Semana 8

Lenguaje de Programación: Parte III

¿Qué es una Función Python?

Un bloque de código que realiza una tarea específica y puede ser reutilizado en otras partes de un programa.

Características de una Función

Realizan una actividad específica Pueden devolver un resultado Se identifican con un nombre Admiten diversos parámetros

Tipos de Funciones en Python

Funciones incorporadas (built-in) Funciones definidas por el usuario

Ventajas de una Función

Reusabilidad Modularidad Facilidad de lectura Flexibilidad Funciones lambda

¿Cómo Definir una Función de Python?

def nombre(param1, param2):
    # bloque de instrucciones
    return valor

Sintaxis de una Función

Funciones en Python

Ejercicio para Enseñar: Definir una Función Simple

# Definir la función
def saludo():
    print("Buenos días, ¿cómo estás?")

# Llamar a la función
print("Primer saludo: ", end=" ")
saludo()
print("Segundo saludo: ", end="")
saludo()

Ejemplo de una Función Sin Retorno de Valores (Sin Parámetros)

def saludo():
    print("Buen día")

saludo()  # Muestra: Buen día

Función con un Parámetro

def saludopersonalizado(name):
    print("Buen día " + name)

saludopersonalizado("Clara")  # Muestra: Buen día Clara

Función con Varios Parámetros y Retorno

def multiplica(val1, val2, val3):
    return val1 * val2 * val3

resultado = multiplica(2, 3, 4)
print(resultado)  # Muestra: 24

Ejercicio para Estudiantes: Crear una Función para Calcular el Área de un Rectángulo

Escriba una función llamada area_rectangulo que:

  1. Reciba dos parámetros: base y altura
  2. Calcule el área del rectángulo (base × altura)
  3. Devuelva el resultado

Luego, use la función para calcular el área de un rectángulo con base 5 y altura 3.

Tipos de Funciones en Python

Funciones de primera clase Funciones de orden superior Funciones anónimas (lambda)

Funciones de Primera Clase - Ejemplo

def saludo(texto):
    return texto.upper() + "!"

print(saludo("Buen día"))  # Muestra: BUEN DÍA!

# Asignar función a una variable
gritando = saludo
print(gritando("Buen día"))  # También muestra: BUEN DÍA!

Funciones Lambda - Ejemplo

# Función lambda para calcular el cuadrado de un número
cuadrado = lambda x: x * x

# Uso de la función lambda
print(cuadrado(5))  # Muestra: 25

Ejercicio para Enseñar: Funciones de Orden Superior

# Función que aplica otra función a un valor
def aplicar_funcion(f, valor):
    return f(valor)

# Funciones para usar con la función de orden superior
def duplicar(x):
    return x * 2

def cuadrado(x):
    return x * x

# Aplicar las funciones
print(aplicar_funcion(duplicar, 5))  # Muestra: 10
print(aplicar_funcion(cuadrado, 5))  # Muestra: 25

Funciones Incorporadas en Python (Built-in)

Python cuenta con una librería de funciones y tipos predefinidos:

print() - para imprimir en pantalla input() - para recibir datos del usuario len() - para obtener la longitud de una lista o cadena str() - para convertir a cadena int() - para convertir a entero float() - para convertir a número decimal

Ejemplo: Función print()

print("Buen día")

Resultado:

Buen día

Ejemplo: Función input()

saludo = input("¿Cuál es tu nombre?")
print("Hola", saludo, "¿cómo estás?")

Si el usuario ingresa “Carlos”:

¿Cuál es tu nombre? Carlos
Hola Carlos ¿cómo estás?

Ejemplo: Función len()

# Longitud de una cadena
print(len("Buen día"))  # Muestra: 8

# Longitud de una lista
print(len(["uno", "dos", "tres"]))  # Muestra: 3

Ejemplo: Función str()

# Convertir un número a una cadena
numero = 42
texto = str(numero)
print(texto, type(texto))  # "42" <class 'str'>

# Convertir un booleano a una cadena
verdadero = True
texto_bool = str(verdadero)
print(texto_bool, type(texto_bool))  # "True" <class 'str'>

# Convertir una lista a una cadena
mi_lista = [1, 2, 3]
texto_lista = str(mi_lista)
print(texto_lista, type(texto_lista))  # "[1, 2, 3]" <class 'str'>

Ejemplo: Función int()

b = int(12.5)
print(b)  # Muestra: 12

Ejemplo: Función float()

a = float(True)
b = float(5)
print(a, type(a))  # Muestra: 1.0 <class 'float'>
print(b, type(b))  # Muestra: 5.0 <class 'float'>

Más Funciones Built-in

abs() - devuelve el valor absoluto max() - devuelve el valor más grande min() - devuelve el valor más pequeño sum() - suma los elementos de una lista round() - redondea un número open() - abre un archivo

Ejemplo: Función abs()

print(abs(23))    # Muestra: 23
print(abs(-23))   # Muestra: 23

Ejemplo: Funciones max() y min()

print(max(23, 44, 10))  # Muestra: 44
print(min(23, 44, 10))  # Muestra: 10

Ejemplo: Función sum()

numeros = [5, 10, 2, 40]
suma = sum(numeros)
print("La suma de los números de la lista es:", suma)  # Muestra: 57

Ejemplo: Función round()

# Redondear a 2 decimales
numero = 23.4589
redondeado = round(numero, 2)
print(redondeado)  # Muestra: 23.46

# Redondear al entero más cercano
numero = 17.8
redondeado = round(numero)
print(redondeado)  # Muestra: 18

Ejercicio para Estudiantes: Calculadora Simple

Cree una función llamada calculadora que:

  1. Reciba tres parámetros: num1, num2 y operacion
  2. Realice la operación indicada (suma, resta, multiplicación o división)
  3. Devuelva el resultado

Pruebe la función con varias operaciones.

Uso de Parámetros y Argumentos en una Función Python

Parámetros: Nombres especificados en la definición de la función.

Argumentos: Valores que se pasan a la función cuando es llamada.

Ejemplo de Parámetros y Argumentos

# Definición de función con parámetros
def sumar(a, b):
    return a + b

# Llamada a la función con argumentos
resultado = sumar(2, 3)
print(resultado)  # Muestra: 5

Optimización de Funciones Python

Mantener el código organizado y legible Utilizar los tipos y estructuras de datos correctos Usar la sintaxis correcta Probar el código

Tipos de Errores en las Funciones de Python

Errores de sintaxis Errores de tiempo de ejecución Errores de lógica Errores de tipo Errores de importación

Ejercicio Final para Estudiantes: Validador de Contraseñas

Cree una función llamada validar_contraseña que:

  1. Reciba una contraseña como parámetro
  2. Verifique si cumple con los requisitos:
    • Al menos 8 caracteres
    • Al menos una letra mayúscula
    • Al menos un número
    • Al menos un carácter especial (@, #, $, %, &, *)
  3. Devuelva True si cumple todos los requisitos, o False en caso contrario

Cierre

Las funciones son una parte integral del lenguaje Python:

  • Permiten construir programas efectivos y modulares
  • Son esenciales para la reutilización de código
  • Facilitan la organización y mantenimiento del código
  • Su dominio es fundamental para tener éxito en la programación

¿Preguntas?