"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 > ¿Qué son las expresiones de asignación y por qué se introdujeron en Python 3.8?

¿Qué son las expresiones de asignación y por qué se introdujeron en Python 3.8?

Publicado el 2024-11-12
Navegar:816

What are Assignment Expressions and Why Were They Introduced to Python 3.8?

Comprensión de las expresiones de asignación en Python 3.8

Desde Python 3.8, el operador "morsa" (:=) ha introducido expresiones de asignación en el lenguaje. Esta nueva característica permite a los programadores asignar valores dentro de comprensiones y funciones lambda, que anteriormente estaban restringidas a tareas regulares.

Justificación de las expresiones de asignación

La principal motivación detrás de las expresiones de asignación es permitir expresiones de asignación más concisas y código eficiente en escenarios donde las asignaciones tradicionales no son compatibles. Por ejemplo, las expresiones de asignación facilitan:

  • Adquisición de valor condicional: los valores condicionales se pueden obtener de manera más sucinta, como lo demuestra el ejemplo de depuración interactiva proporcionado en la documentación de Python.
  • Comprensiones de listas simplificadas: las comprensiones de listas complejas se pueden simplificar asignando valores intermedios a las variables dentro de la comprensión, haciendo que el código sea más legible y manejable.

Sintaxis, semántica y gramática

Las expresiones de asignación siguen una sintaxis específica: nombre := expr, donde nombre es un identificador y expr es cualquier expresión Python válida. El valor de la expresión de asignación es el mismo que el de la expresión expr, pero un efecto secundario adicional asigna el valor al nombre del objetivo.

Las expresiones de asignación difieren de las declaraciones de asignación normales en varios aspectos clave:

  • Son expresiones, no declaraciones y, por lo tanto, pueden aparecer en contextos donde se esperan expresiones.
  • Tienen un orden de evaluación diferente (de derecha a izquierda) y una precedencia diferente en comparación. a asignaciones regulares.
  • No admiten destinos múltiples, asignaciones a nombres que no sean únicos, empaquetado/desempaquetado iterable, anotaciones de tipo en línea u operaciones de asignación aumentadas.

Razones para la Introducción de expresiones de asignación

A pesar del retiro del PEP 379, que proponía un concepto similar, el PEP 572 introdujo la asignación expresiones a Python por varias razones:

  • Para mejorar la legibilidad y el mantenimiento del código, especialmente dentro de las comprensiones y lambdas.
  • Para habilitar la depuración interactiva sin la necesidad de refactorizar el código.
  • Para proporcionar una forma más eficiente de asignar valores condicionales y simplificar la comprensión de listas.
  • Para alinear la sintaxis de Python con otras modernas lenguajes de programación que admiten expresiones de asignación.
Ú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