... resultado = 0 ... # Se itera el diccionario de argumentos ... for clave, valor in kwargs.items(): ... resultado += valor # Suma todos los valores ... return resultado # Retorna el resultado de la suma ...
suma(a=2, b=4) 6 suma(x=1, y=3, z=5) 9
Generadores
Los generadores son una forma especial de función que permiten iterar sobre grandes conjuntos de datos sin necesidad de almacenarlos en la memoria de una sola vez. Se definen como funciones normales pero en vez de usar return para devolver un valor, usan yield, que suspende la función y la mantiene en el estado actual hasta la próxima vez que se invoque.
def generador(): ... yield 1 ... yield 2 ... yield 3 ... gen = generador() next(gen) 1 next(gen) 2 next(gen) 3 next(gen) Traceback (most recent call last): File "", line 1, in StopIteration
Manejo de excepciones
Python utiliza excepciones para manejar errores y otros eventos excepcionales. La declaración try-except permite capturar y manejar excepciones específicas.
try: ... resultado = 10 / 0 ... except ZeroDivisionError: ... resultado = "No se puede dividir por cero" ... resultado 'No se puede dividir por cero' try: ... resultado = int("abc") ... except ValueError as e: ... resultado = f"Error de valor: {e}" ... resultado "Error de valor: invalid literal for int() with base 10: 'abc'"
Clases y objetos
Python es compatible con la programación orientada a objetos. Las clases se definen con la palabra clave class y pueden tener métodos y atributos.
class Persona: ... def init(self, nombre, edad): ... self.nombre = nombre ... self.edad = edad ... ... def saludar(self): ... return f"Hola, mi nombre es {self.nombre} y tengo {self.edad} años." ... p = Persona("Alice", 30) p.saludar() 'Hola, mi nombre es Alice y tengo 30 años.' class Estudiante(Persona): ... def init(self, nombre, edad, carrera): ... super().init(nombre, edad) ... self.carrera = carrera ... ... def presentarse(self): ... return f"Soy {self.nombre}, estudio {self.carrera} y tengo {self.edad} años." ... e = Estudiante("Bob", 22, "Ingeniería") e.presentarse() 'Soy Bob, estudio Ingeniería y tengo 22 años.'
Decoradores
Los decoradores son una manera elegante de modificar el comportamiento de una función o método. Se definen como funciones que toman otra función como argumento y devuelven una nueva función.
def decorador(func): ... def nueva_funcion(*args, **kwargs): ... print("Función decorada") ... return func(*args, **kwargs) ... return nueva_funcion ... @decorador ... def saludo(): ... return "Hola!" ... saludo() Función decorada 'Hola!'
Importación de módulos
Python permite organizar el código en módulos y paquetes. Los módulos pueden ser importados usando la palabra clave import.
import math math.sqrt(16) 4.0 from math import pi pi 3.141592653589793
Esto es una introducción básica a Python y sus características. Python es un lenguaje vasto con una gran cantidad de bibliotecas y aplicaciones, lo que lo hace una herramienta poderosa y flexible para desarrolladores de todos los niveles.