Skip to content

Python de Cero a Pro - Cap.6 Funciones y Más

¡Hola! En este capítulo nos adentraremos en el concepto de las funciones en Python. Las funciones son bloques de código reutilizables que nos ayudan a organizar, modular y hacer más legible nuestro trabajo.

Volver a Página Principal

Ver Codigo en GitLab


Una función es un bloque de código que solo se ejecuta cuando es llamada. Sirve para encapsular una tarea específica, permitiendo que el código sea más organizado, legible y reutilizable.

Para definir una función, utilizamos la palabra clave def, seguida del nombre de la función y paréntesis (). El bloque de código de la función se define con una indentación.

# Ejemplo de una función simple
def saludar():
print("¡Hola, mundo!")
# Llamada a la función
saludar()
# Salida: ¡Hola, mundo!

  • Parámetros: Son las variables que se definen en la declaración de la función, dentro de los paréntesis.
  • Argumentos: Son los valores que se le pasan a la función cuando se llama.
# 'nombre' es el parámetro de la función
def saludar_personalizado(nombre):
print(f"¡Hola, {nombre}!")
# 'Ana' es el argumento que se pasa a la función
saludar_personalizado("Ana")
# Salida: ¡Hola, Ana!

Las funciones pueden devolver un valor que puede ser utilizado en otra parte del programa. Esto se logra con la palabra clave return.

def sumar(a, b):
resultado = a + b
return resultado
# La función devuelve el resultado de la suma
suma_total = sumar(5, 3)
print(suma_total)
# Salida: 8

La función __main__ y el punto de entrada

Section titled “La función __main__ y el punto de entrada”

El bloque if __name__ == "__main__": es una convención de Python que se utiliza para definir el punto de entrada de un script. El código dentro de este bloque solo se ejecutará cuando el archivo se ejecute directamente, no cuando se importe como un módulo en otro script. Esto es muy útil para mantener tu código organizado y evitar que funciones de prueba se ejecuten inesperadamente.

def main():
"""Esta es la función principal de tu programa."""
print("El programa se está ejecutando directamente.")
saludar_personalizado("Usuario")
def saludar_personalizado(nombre):
print(f"¡Hola, {nombre}!")
# Este bloque se ejecuta solo cuando el script se corre directamente.
if __name__ == "__main__":
main()
# Salida: El programa se está ejecutando directamente.
# Salida: ¡Hola, Usuario!

Python cuenta con una gran cantidad de módulos (bibliotecas de código) que extienden su funcionalidad. Puedes importar estos módulos de diferentes maneras.

Importa todo el módulo. Para usar una función del módulo, debes referenciar el nombre del módulo.

# Importa el módulo completo 'math'
import math
# Usa la función sqrt() del módulo
raiz_cuadrada = math.sqrt(25)
print(raiz_cuadrada)
# Salida: 5.0

Importa solo las funciones que necesitas, lo que hace el código más limpio.

# Importa solo la función 'sqrt' del módulo 'math'
from math import sqrt
# Usa la función directamente sin el prefijo del módulo
raiz_cuadrada = sqrt(100)
print(raiz_cuadrada)
# Salida: 10.0

Puedes crear tus propios módulos para organizar tu código.

  1. Crea un archivo llamado mis_funciones.py:

    mis_funciones.py
    def mi_funcion_saludo(nombre):
    return f"¡Hola desde mi_modulo, {nombre}!"
  2. Importa y usa el módulo en tu archivo principal:

    archivo_principal.py
    import mis_funciones
    saludo = mis_funciones.mi_funcion_saludo("Pedro")
    print(saludo)
    # Salida: ¡Hola desde mi_modulo, Pedro!