Fundamentos de Programación y Python
Fundamentos de Programación con Python para Principiantes
Instalación y Uso Básico de Python en Windows y Mac
Semántica y Sintaxis en Programación Python
Práctica: Te doy la bienvenida a los ejercicios interactivos
Manejo de Cadenas y Operaciones Básicas en Python
Tipos de Datos en Python: Enteros, Flotantes y Booleanos
Dominio de la función `print` en Python: usos y formatos avanzados
Operaciones matemáticas avanzadas en Python: módulo, potencia y más
Entrada de información y manejo de tipos de datos en Python
Colección y Procesamiento de Datos en Python
Manipulación de Listas en Python: Creación, Indexación y Métodos Básicos
Copiar listas en Python sin compartir memoria con slicing
Manejo de Matrices y Tuplas en Python
Matrices en Juegos y Imágenes con Python
Diccionarios en Python: Uso y Manipulación de Datos
Control de Flujo en Python
Estructuras Condicionales en Programación: Uso de If, Else y Elif
Iteración y control de flujo con bucles en Python
Iteradores y Generadores en Python: Uso Eficiente de Memoria
Listas por comprensión en Python: creación y optimización de listas
Funciones y Manejo de Excepciones en Python
Funciones y Parámetros en Python: Crea una Calculadora Básica
Funciones Lambda en Python: Uso y Aplicaciones Prácticas
Recursividad en Python: Factoriales y Serie de Fibonacci
Manejo de Excepciones y Errores en Python
Programación Orientada a Objetos en Python
Programación Orientada a Objetos en Python: Clases y Métodos Básicos
Gestión de Biblioteca con Programación Orientada a Objetos
Herencia y Polimorfismo en Programación Orientada a Objetos
Programación Orientada a Objetos: Implementación de Clases y Herencia
Polimorfismo en Programación Orientada a Objetos
Herencia y Uso de la Función super() en Python
Programación Orientada a Objetos: Atributos, Métodos y `super()` en Python
Lectura y escritura de archivos
Manipulación de Archivos TXT y CSV en Python
Manipulación de archivos CSV con Python: lectura y escritura
Manejo de Archivos JSON en Python para Aplicaciones Web y APIs
Biblioteca estándar de Python
Uso Eficiente de la Biblioteca Estándar de Python
Uso de las librerÃas OS, Math y Random en Python
Análisis de Datos de Ventas con Python y Statistics
Desarrollo del juego Batalla Naval en Python
Conceptos avanzados de Python
Programación Avanzada en Python: POO, Excepciones y Proyectos
Escritura de Código Pytónico y Buenas Prácticas en Python
Comentarios y Docstrings: Buenas Prácticas en Programación
Tiempo de vida y alcance de variables en Python
Anotaciones de Tipo en Python para Código Más Legible
Validación de Tipos y Manejo de Excepciones en Python
Estructuras de Datos Avanzadas en Python: Collection y Enumeraciones
Decoradores
Decoradores en Python: Extiende Funcionalidades de Funciones
Uso de Decoradores Anidados y con Parámetros en Python
Decoradores en Programación Orientada a Objetos en Python
Métodos y estructura de clases en Python
Uso de Métodos Mágicos en Python
Sobrecarga de Operadores en Python: Personaliza Comportamiento de Clases
Ejecutar scripts Python con `if __name__ == '__main__'`
Metaprogramación en Python: Métodos `__new__` y `__init__`
Uso de *args y **kwargs en funciones de Python
Métodos y Atributos Privados y Protegidos en Python
Uso de Property en Python: Getter, Setter y Eliminación de Atributos
Métodos estáticos y de clase en Python
Programación concurrente y asÃncrona
Concurrencia y Paralelismo en Python: Técnicas y LibrerÃas Básicas
Concurrencia y Paralelismo en Python: `threading` y `multiprocessing`
Asincronismo en Python con AsyncIO y Corrutinas
SincronÃa y Concurrencia en Python: TeorÃa y Práctica
Creación de módulos y paquetes
Módulos y Paquetes en Python: Reutilización y Organización de Código
Uso de Paquetes y Subpaquetes en Python con Visual Studio Code
Publicación de Paquetes Python en PyPI
Proyecto final
Sistema de Gestión de Reservas en Python Avanzado
Sistema de Gestión de Reservas en Python Avanzado
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Trabajar con iteradores y generadores en Python permite manejar grandes cantidades de datos de manera eficiente, sin necesidad de cargar todo en memoria.
Un iterador en Python es un objeto que permite recorrer todos los elementos de una colección, uno a la vez, sin necesidad de usar Ãndices. Para crear un iterador, se utiliza la función iter()
y para obtener el siguiente elemento, se usa la función next()
. Veamos un ejemplo:
# Crear una lista
lista = [1, 2, 3, 4]
# Obtener el iterador de la lista
iterador = iter(lista)
# Usar el iterador para obtener elementos
print(next(iterador)) # Imprime: 1
print(next(iterador)) # Imprime: 2
print(next(iterador)) # Imprime: 3
print(next(iterador)) # Imprime: 4
# Intentar obtener otro elemento después de finalizar la iteración
print(next(iterador)) # Esto generará una excepción StopIteration
Los iteradores también pueden recorrer cadenas de texto:
# Crear una cadena
texto = "hola mundo"
# Obtener el iterador de la cadena
iterador_texto = iter(texto)
# Iterar a través de la cadena
for caracter in iterador_texto:
print(caracter)
La función range
se puede usar para crear un iterador que recorra números impares:
# Crear un iterador para números impares hasta 10
limite = 10
iterador_impares = iter(range(1, limite + 1, 2))
# Iterar a través de los números impares
for numero in iterador_impares:
print(numero)
Para cambiar a números pares, solo se debe modificar el inicio del rango:
# Crear un iterador para números pares hasta 10
iterador_pares = iter(range(0, limite + 1, 2))
# Iterar a través de los números pares
for numero in iterador_pares:
print(numero)
Un generador es una función que produce una secuencia de valores sobre los cuales se puede iterar, usando la palabra clave yield
en lugar de return
. Aquà hay un ejemplo básico:
def mi_generador():
yield 1
yield 2
yield 3
# Usar el generador
for valor in mi_generador():
print(valor)
La serie de Fibonacci es una secuencia donde cada número es la suma de los dos anteriores. Podemos crear un generador para producir esta serie:
def fibonacci(limite):
a, b = 0, 1
while a < limite:
yield a
a, b = b, a + b
# Usar el generador para la serie de Fibonacci hasta 10
for numero in fibonacci(10):
print(numero)
Aportes 293
Preguntas 3
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?