"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > O que são expressões de atribuição e por que foram introduzidas no Python 3.8?

O que são expressões de atribuição e por que foram introduzidas no Python 3.8?

Publicado em 2024-11-12
Navegar:736

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

Compreendendo expressões de atribuição no Python 3.8

Desde o Python 3.8, o operador "walrus" (:=) introduziu expressões de atribuição na linguagem. Este novo recurso permite que os programadores atribuam valores dentro de compreensões e funções lambda, que anteriormente eram restritas a atribuições regulares. código eficiente em cenários onde as atribuições tradicionais não são suportadas. Por exemplo, expressões de atribuição facilitam:

Aquisição de valor condicional

: Valores condicionais podem ser obtidos de forma mais sucinta, conforme demonstrado pelo exemplo de depuração interativo fornecido na documentação do Python.
  • Compreensões de lista simplificadas: compreensões de listas complexas podem ser simplificadas atribuindo valores intermediários a variáveis ​​dentro da compreensão, tornando o código mais legível e gerenciável.
  • Sintaxe, Semântica, e Gramática
  • As expressões de atribuição seguem uma sintaxe específica: name := expr, onde name é um identificador e expr é qualquer expressão Python válida. O valor da expressão de atribuição é o mesmo que a expressão expr, mas um efeito colateral adicional atribui o valor ao nome de destino.

As expressões de atribuição diferem das instruções de atribuição regulares em vários aspectos principais:

Eles são expressões, não declarações e, portanto, podem aparecer em contextos onde as expressões são esperadas.

Eles têm uma ordem de avaliação diferente (da direita para a esquerda) e uma precedência diferente em comparação com atribuições regulares.
  • Eles não suportam múltiplos destinos, atribuições para nomes não únicos, empacotamento/desempacotamento iterável, anotações de tipo in-line ou operações de atribuição aumentadas.
  • Motivos para a introdução de expressões de atribuição
  • Apesar da retirada do PEP 379, que propunha um conceito semelhante, o PEP 572 introduziu expressões de atribuição no Python por vários motivos:

Para melhorar a legibilidade e manutenção do código, especialmente dentro da compreensão e lambdas.

Para permitir a depuração interativa sem a necessidade de refatoração de código.
  • Para fornecer uma maneira mais eficiente de atribuir valores condicionais e simplificar a compreensão da lista.
  • Para alinhar a sintaxe do Python com outras linguagens de programação modernas que suportam expressões de atribuição.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3