"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cuáles son los casos de uso y los beneficios de aprovechar la sintaxis \"rendimiento de\" en Python 3.3?

¿Cuáles son los casos de uso y los beneficios de aprovechar la sintaxis \"rendimiento de\" en Python 3.3?

Publicado el 2024-11-06
Navegar:824

What are the Use Cases and Benefits of Leveraging \

En la práctica, aprovechando la sintaxis "rendimiento desde" en Python 3.3

La sintaxis "rendimiento desde", introducida en Python 3.3, ofrece una mejora significativa de las capacidades de los generadores y las corrutinas. Establece una conexión bidireccional entre una persona que llama y un subgenerador, lo que permite una comunicación fluida en ambas direcciones.

Casos de uso para "ceder desde"

Lectura Datos de generadores:

  • Este caso de uso imita la funcionalidad de un bucle for, pero con la conveniencia adicional de propagar excepciones. Por ejemplo:
def reader():
    for i in range(4):
        yield '<< %s' % i

def reader_wrapper(g):
    yield from g

wrap = reader_wrapper(reader())
for i in wrap:
    print(i)

# Result:
# << 0
# << 1
# << 2
# << 3

Envío de datos a corrutinas:

  • Este escenario implica la creación de una corrutina que acepta los datos que se le envían y los escribe en una ubicación específica, como un archivo. o un enchufe. Por ejemplo:
def writer():
    while True:
        w = (yield)
        print('>> ', w)

def writer_wrapper(coro):
    yield from coro

w = writer()
wrap = writer_wrapper(w)
wrap.send(None)  # Prime the coroutine
for i in range(4):
    wrap.send(i)

# Expected result:
# >>  0
# >>  1
# >>  2
# >>  3

Comparación con Micro-Threads

El rendimiento de la sintaxis comparte algunas similitudes con los micro-threads en el sentido de que permite suspender y reanudar corrutinas, creando una alternativa ligera a hilos tradicionales. Sin embargo, las corrutinas son más livianas y tienen una menor sobrecarga de memoria en comparación con los microprocesos. También se ejecutan en el mismo subproceso, lo que evita los problemas asociados con el cambio de contexto en entornos de subprocesos múltiples.

Declaración de liberación Este artículo se reimprime en: 1729681907 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

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