generadores, clases dec, , rawinput Flashcards
generadores:
Python son una característica poderosa! Son funciones especiales que permiten pausar y reanudar su ejecución, lo que ahorra memoria y tiempo. Pueden utilizarse para generar secuencias de valores de manera eficiente, como en bucles for.
- Generador simple de números pares:
def pares(maximo):
num = 0
while num < maximo:
yield num
num += 2
for n in pares(10):
print(n)
- Generador de números Fibonacci:
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
for num in fibonacci(10):
print(num)
puedes utilizar la declaración yield en lugar de return dentro de una función para crear un generador? ej?
def funcion_generadora(cajas):
for caja in cajas:
if caja == “Blanco”:
yield “azul”
elif caja == “Rojo”:
yield caja
cajas = [“Blanco”, “Rojo”, “Negro”]
generador = funcion_generadora(cajas)
for caja_pintada in generador:
print(caja_pintada)
- Clases decoradas
Los decoradores son funciones que toman otra función o clase y la modifican de alguna manera.
ej clase decoradoa
def decorador(clase):
class ClaseDecorada(clase):
def nuevo_metodo(self):
print(“¡Este es un nuevo método decorado!”)
return ClaseDecorada
@decorador
class MiClase:
def metodo_original(self):
print(“Este es el método original.”)
objeto = MiClase()
objeto.metodo_original()
objeto.nuevo_metodo()
que hace miclase con el decorador
el decorador decorador toma la clase MiClase y crea una nueva clase ClaseDecorada que hereda de MiClase. Se agrega un nuevo método a la clase decorada. Luego, al aplicar @decorador encima de la definición de MiClase, estás esencialmente utilizando el decorador para modificar MiClase.
Captura de excepciones genéricas:
Puedes capturar excepciones de manera más general utilizando Exception. Sin embargo, es una buena práctica ser específico sobre las excepciones que manejas.
excepción ejemplo
try:
archivo = open(“archivo.txt”, “r”)
except Exception as e:
print(f”Ocurrió un error: {e}”)
usos de exception:
-evitar que el programa se detenga abruptamente debido a un error no anticipado
-ocultar información importante sobre el problema que está ocurriendo.
La parte as e en except Exception as e se utiliza para
para capturar la instancia de la excepción que ha ocurrido. Permite acceder a información más detallada sobre la excepción y, en algunos casos, puede ser útil para depurar o proporcionar mensajes de error más informativos.
Cuando se captura una excepción utilizando as, se crea una variable llamada :____ que _____
e (en este caso, puedes usar cualquier nombre válido de variable)
referencia la instancia de la excepción.
- Entrada Estándar Raw input:
era utilizada para obtener una entrada de texto sin procesar del usuario desde la línea de comandos.
como se renombre?
input() para que la entrada se procesara automáticamente como una cadena (string).
ej raw input vs input
Python 2 (utilizando raw_input()):
entrada = raw_input(“Ingresa un texto: “)
print(“Ingresaste:”, entrada)
Python 3 (utilizando input()):
entrada = input(“Ingresa un texto: “)
print(“Ingresaste:”, entrada)