ExpertiDict

Python · Intermediário · Inglês · Técnico

walrus operator

/ˈwɔlɹəs ˈɑpɚˌeɪɾɚ/substantivo

O operador :=, que atribui um valor a uma variável dentro de uma expressão e já devolve esse valor. Foi adicionado no Python 3.8 e evita cálculos repetidos.

Onde usar

Útil em condições e laços que precisam testar e guardar um valor ao mesmo tempo, como ler blocos de dados até acabar. Em excesso prejudica a leitura, e o review pode pedir uma atribuição comum.

Em código

dados = [3, 8, 15]
if (n := len(dados)) > 2:
  print(f'{n} itens, muitos')

Exemplos

Use the walrus operator to avoid calling len twice.

Use o walrus operator para não chamar len duas vezes.

The walrus operator makes the loop shorter but harder to read.

O walrus operator deixa o laço mais curto, mas mais difícil de ler.

Cuidado

Sem parênteses, não pode ser usado como instrução solta, como x := 5; nesse caso use a atribuição normal.

Sinônimos

operador morsa, expressão de atribuição

Origem

O apelido vem de := lembrar os olhos e as presas de uma morsa.

Veja também

Todos os termos de Python