O Operador “Morsa” do Python

Ana Maria Gomes
5 minutos de leitura

Conteúdos do tutorial

O operador “morsa” do Python, também conhecido como expressão de atribuição, é uma funcionalidade introduzida na versão 3.8 da linguagem. Este operador, representado por :=, permite atribuir valores a variáveis como parte de uma expressão. Neste tutorial, vamos explorar como utilizar o operador morsa para tornar seu código mais conciso e legível.

O que é o Operador Morsa?

O operador morsa (:=) permite que você atribua um valor a uma variável dentro de uma expressão. Isso pode ser útil para reduzir a quantidade de código e evitar a repetição de cálculos. O nome “morsa” é uma referência ao formato do operador, que se assemelha a uma morsa.

Sintaxe do Operador Morsa

A sintaxe básica do operador morsa é:

variavel := expressao

Aqui, variavel é a variável que receberá o valor da expressao.

Benefícios do Operador Morsa

O operador morsa pode trazer vários benefícios para o seu código:

  • Concisão: Reduz a quantidade de linhas de código necessárias para realizar uma operação.
  • Legibilidade: Torna o código mais fácil de ler e entender, especialmente em expressões complexas.
  • Eficiência: Evita a necessidade de recalcular valores, o que pode melhorar a performance do código.

Exemplos Práticos

Vamos ver alguns exemplos práticos de como o operador morsa pode ser utilizado.

Uso em Loops

Um dos usos mais comuns do operador morsa é dentro de loops. Veja o exemplo abaixo:

# Sem o operador morsa
while True:
    linha = input("Digite algo (ou 'sair' para terminar): ")
    if linha == "sair":
        break
    print(f"Você digitou: {linha}")

# Com o operador morsa
while (linha := input("Digite algo (ou 'sair' para terminar): ")) != "sair":
    print(f"Você digitou: {linha}")
Testar

No exemplo acima, o operador morsa permite que a atribuição e a comparação sejam feitas em uma única linha, tornando o código mais conciso.

Uso em Expressões Condicionais

O operador morsa também pode ser usado em expressões condicionais para evitar a repetição de cálculos:

# Sem o operador morsa
valor = funcao_complexa()
if valor > 10:
    print(f"O valor {valor} é maior que 10")

# Com o operador morsa
if (valor := funcao_complexa()) > 10:
    print(f"O valor {valor} é maior que 10")

Neste exemplo, a função funcao_complexa() é chamada apenas uma vez, e seu resultado é armazenado na variável valor, que é então usada na condição if.

Uso em Compreensões de Lista

O operador morsa pode ser utilizado em compreensões de lista para tornar o código mais eficiente:

# Sem o operador morsa
resultados = []
for x in range(10):
    y = funcao_complexa(x)
    if y > 5:
        resultados.append(y)

# Com o operador morsa
resultados = [y for x in range(10) if (y := funcao_complexa(x)) > 5]

Aqui, o operador morsa permite que a função funcao_complexa(x) seja chamada apenas uma vez por iteração, e seu resultado é usado tanto na condição if quanto na lista resultante.

Considerações Finais

O operador morsa do Python é uma ferramenta poderosa que pode ajudar a tornar seu código mais conciso e legível. No entanto, é importante usá-lo com moderação e apenas quando realmente fizer sentido, para evitar tornar o código confuso.

Esperamos que este tutorial tenha ajudado você a entender melhor o operador morsa e como utilizá-lo em seus projetos Python. Se você tiver alguma dúvida ou sugestão, deixe um comentário abaixo!

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: