APRENDE FUNCIONES en PYTHON: def, pass, sintaxis, None, return vs print, argumentos, scope y más
¿Qué es una función? 🤔
Una función es un bloque que permite compactar y reutilizar tu código. Puede:
Recibir datos
Utilizarlos
Devolver datos
Una vez creada tu función, puedes llamarla y ejecutar el código que escribiste dentro. Por ejemplo:
Hacer varios
printque uses a menudoRealizar tareas como calcular el promedio de tus notas
Sintaxis Básica 🎯
def nombre_funcion():
# Tu código aquí
pass # Como tu crush, pasa de tiDesglose:
def: Palabra clave para definir la funciónnombre_funcion: El nombre que le das (¡descriptivo!)(): Donde van los datos (argumentos):: Dos puntos para terminar la cabeceraIndentación: La sangría que organiza tu código (Python usa esto en lugar de llaves)
¡Hagamos que haga algo! 💥
def saludar():
print("Hola") # Adiós pass, hola acción!
# Llamar a la función
saludar() # Output: HolaPasando Datos - Argumentos 📤
def saludar_personalizado(nombre):
print(f"Hola, {nombre}!")
saludar_personalizado("BitBoss") # Output: Hola, BitBoss!Error común: Si defines un argumento, ¡debes pasarlo! Si no, Python te dirá que eres tonto (en términos educados).
Return vs Print - ¡La Gran Diferencia! ⚡
Con print (solo muestra):
def mostrar_suma(a, b):
print(a + b)
resultado = mostrar_suma(2, 3) # Output: 5
print(resultado) # Output: None ⚠️Con return (devuelve valor):
def calcular_suma(a, b):
return a + b
resultado = calcular_suma(2, 3)
print(resultado) # Output: 5 ✅
print(calcular_suma(1, 2) * 2) # Output: 6 ✅None: Es un valor especial (NoneType) que representa "nada". Las funciones sin return explícito devuelven None.
Ejemplo Práctico: Calculando Promedio 📊
def calcular_promedio(examen1, examen2, examen3):
suma = examen1 + examen2 + examen3
promedio = suma / 3
return promedio
# Versión compacta:
def calcular_promedio(examen1, examen2, examen3):
return (examen1 + examen2 + examen3) / 3
mi_promedio = calcular_promedio(8, 7, 9)
print(f"Tu promedio es: {mi_promedio}")Argumentos con Nombre (Keyword Arguments) 🏷️
def resta(a, b):
return a - b
# Por posición (orden importa):
print(resta(5, 3)) # Output: 2
print(resta(3, 5)) # Output: -2
# Por nombre (¡el orden no importa!):
print(resta(a=5, b=3)) # Output: 2
print(resta(b=3, a=5)) # Output: 2 ✅Valores por Defecto ⚙️
def resta(a=3, b=2):
return a - b
print(resta()) # Output: 1 (usa valores por defecto)
print(resta(5)) # Output: 3 (5-2)
print(resta(b=1)) # Output: 2 (3-1)¡Cuidado!: No puedes usar argumentos posicionales después de keyword arguments.
Scope - Alcance de Variables 🎯
Variables Locales (dentro de la función):
def mi_funcion():
variable_local = "Solo existo aquí dentro"
print(variable_local)
mi_funcion()
# print(variable_local) # ¡ERROR! No existe fueraVariables Globales:
variable_global = "Soy global"
def mostrar_global():
print(variable_global) # Puedo acceder
mostrar_global() # Output: Soy globalModificando variables globales:
contador = 0
def incrementar():
global contador # ¡Necesario para modificar!
contador += 1
incrementar()
print(contador) # Output: 1Return Interrumpe la Ejecución 🛑
def funcion_interrumpida():
print("Este sí se ejecuta")
return
print("Este NO se ejecuta") # ¡Muerto!
funcion_interrumpida()Resumen Final 🎓
| Concepto | ¿Qué es? | Ejemplo |
|---|---|---|
def | Define una función | def mi_funcion(): |
| Argumentos | Datos que recibe | (a, b, c) |
return | Devuelve un valor | return resultado |
print | Muestra en pantalla | print("Hola") |
None | Valor "vacío" | Valor por defecto |
| Scope | Alcance de variables | Locales vs Globales |
| Keyword Args | Argumentos con nombre | funcion(a=1, b=2) |
¡Practica! 🚀
Crea una función que convierta Celsius a Fahrenheit:
def celsius_a_fahrenheit(celsius):
# Fórmula: (C × 9/5) + 32
return (celsius * 9/5) + 32
print(celsius_a_fahrenheit(0)) # Debe dar 32
print(celsius_a_fahrenheit(100)) # Debe dar 212¡Recuerda! La indentación es crucial en Python. Usa 4 espacios por nivel (aunque las tabulaciones técnicamente funcionan, los espacios son la convención).
¿Prefieres espacios o tabulaciones? ¡Déjamelo saber en los comentarios! 👇
¡Y no olvides suscribirte para más tutoriales que hasta los más "lentos" pueden entender! 🔔
Tutorial: Aprende Funciones en Python para Principiantes
¿Qué es una función?
Una función es un bloque de código que realiza una tarea específica y que puedes reutilizar en tu programa. Imagínalo como una receta: defines los pasos una vez y luego puedes usarla muchas veces.
Sintaxis básica de una función
def nombre_de_la_funcion():
# código que realiza la tarea
print("Hola desde la función")1. La palabra clave def
Se usa para definir una función:
def saludar():
print("¡Hola! Bienvenido/a")2. La palabra clave pass
Se usa cuando quieres crear una función pero aún no has decidido qué hará:
def funcion_futura():
pass # No hace nada por ahora
# Esto evita errores mientras trabajas en tu código3. El valor None
Es un valor especial que representa "nada" o "vacío". Las funciones que no retornan nada explícitamente devuelven None:
def funcion_sin_return():
print("Hola")
resultado = funcion_sin_return()
print(resultado) # Output: None4. return vs print
print() - Muestra información en pantalla
def mostrar_suma(a, b):
print(a + b) # Solo muestra el resultado
mostrar_suma(5, 3) # Output: 8return - Devuelve un valor para usarlo después
def calcular_suma(a, b):
return a + b # Devuelve el resultado
resultado = calcular_suma(5, 3)
print(resultado) # Output: 8
print(calcular_suma(2, 4) * 2) # Output: 12Diferencia clave: print solo muestra, return devuelve un valor que puedes usar.
5. Argumentos (parámetros)
Son valores que le pasas a la función:
Argumentos posicionales
def presentar(nombre, edad):
print(f"Hola, me llamo {nombre} y tengo {edad} años")
presentar("Ana", 25) # Output: Hola, me llamo Ana y tengo 25 añosArgumentos con valores por defecto
def saludar(nombre="amigo/a"):
print(f"¡Hola, {nombre}!")
saludar() # Output: ¡Hola, amigo/a!
saludar("Carlos") # Output: ¡Hola, Carlos!Argumentos con nombre (keyword arguments)
def describir_persona(nombre, edad, ciudad):
print(f"{nombre}, {edad} años, vive en {ciudad}")
describir_persona(edad=25, ciudad="Madrid", nombre="Laura")6. Scope (alcance de variables)
Variables locales (dentro de la función)
def mi_funcion():
variable_local = "Solo existe aquí dentro"
print(variable_local)
mi_funcion()
# print(variable_local) # Esto daría ERRORVariables globales (fuera de la función)
variable_global = "Soy global"
def mostrar_global():
print(variable_global) # Puedo acceder
mostrar_global() # Output: Soy globalModificar variables globales (con global)
contador = 0
def incrementar():
global contador # Necesario para modificar
contador += 1
incrementar()
print(contador) # Output: 1Ejemplo completo práctico
# Función para calcular áreas
def calcular_area_rectangulo(base, altura=1):
"""Calcula el área de un rectángulo"""
area = base * altura
return area
# Función para mostrar resultados
def mostrar_resultado(figura, area):
print(f"El área del {figura} es: {area}")
# Usamos las funciones
area1 = calcular_area_rectangulo(5, 3)
area2 = calcular_area_rectangulo(4) # Usa altura por defecto (1)
mostrar_resultado("rectángulo grande", area1)
mostrar_resultado("rectángulo pequeño", area2)
# También podemos anidar llamadas
mostrar_resultado("cuadrado", calcular_area_rectangulo(6, 6))Buenas prácticas
Nombres descriptivos:
calcular_promedio()en lugar defuncion1()Comentarios/documentación: Usa
"""comentarios"""para explicar qué hace tu funciónUna función, una tarea: Cada función debe hacer solo una cosa específica
Evitar funciones demasiado largas: Si es muy larga, considera dividirla
Ejercicio práctico
Crea una función que convierta grados Celsius a Fahrenheit:
def celsius_a_fahrenheit(celsius):
# Fórmula: (C × 9/5) + 32
fahrenheit = (celsius * 9/5) + 32
return fahrenheit
# Prueba tu función
print(celsius_a_fahrenheit(0)) # Debe dar 32
print(celsius_a_fahrenheit(100)) # Debe dar 212¡Ahora tienes las bases para usar funciones en Python! Practica creando tus propias funciones para resolver problemas específicos
Comentarios
Publicar un comentario