comprender los generadores de Python
que profundiza en el mundo de los generadores de Python puede ser desconcertante, especialmente si está acostumbrado al ecosistema Java. A diferencia del modelo de subprocesos de Java, los generadores en Python tienen un propósito distinto.
Definición e implementación
un generador es una función que emplea la palabra clave de rendimiento para devolver un iterador. Cuando se llama, el generador genera una secuencia de valores uno a la vez. En lugar de calcular y almacenar la secuencia completa en la memoria, los generadores producen valores a pedido.
Considere el siguiente ejemplo:
def my_gen(n): yield n yield n 1
llamando a my_gen (6) crea un objeto que produce los valores 6 y 7 cuando se iteran a través de:
g = my_gen(6) next(g) # Output: 6 next(g) # Output: 7
para los bucles llaman automáticamente a continuación para usted, lo que facilita la iterar sobre la secuencia:
for n in my_gen(6): print(n) # Output: # 6 # 7
beneficios de generadores
Los generadores ofrecen varias ventajas:
def fib(): a, b = 0, 1 while True: yield a a, b = b, a b
conclusión
Los generadores son una herramienta poderosa en Python que proporciona eficiencia de memoria, sucinción y la capacidad de representar flujos infinitos. Al aprovechar el poder de los generadores, puede mejorar la flexibilidad y la capacidad de su código Python.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3