Operador de morsa do Python (: =): escreva o limpador, mas sempre legível, código

Dominar expressões de tarefas significa conhecer seu poder e suas armadilhas. Introduzido no Python 3.8, a expressão de atribuição – conhecida como o “operador da morsa” (: =) – permite atribuir valores a variáveis ​​como parte de uma expressão. Sua superpotência está eliminando redundância, mas sua criptonita é sobrecomplicação. O objetivo é usá -lo para escrever mais código pitônico, sempre aderindo ao princípio de que a legibilidade conta. Vamos explorar como usá -lo de maneira eficaz. Caso de uso 1: racionalizar loops Um padrão comum está lendo um valor, verificando -o e depois usá -lo. Isso geralmente leva a estruturas de loop desajeitadas ou chamadas de método repetidas. A maneira detalhada (perfeitamente legível): # Este é um padrão clássico e claro. enquanto true: dados = get_data (), se não dados: processo de interrupção (dados), insira modo de tela cheia de saída do modo de tela cheia da maneira Walrus (simplificada e eficiente): # Isso condensa a lógica em uma única linha expressiva. # O valor de `dados: = get_data ()` é atribuído e # então avaliado quanto à verunhura. Enquanto (dados: = get_data ()): Process (dados) Digite o modo de tela cheia de tela cheia O operador da Worrus aqui torna a intenção do loop – “enquanto houver dados, processá -los” – mais imediatamente óbvios removendo o caldelador de quebra. Caso de uso 2: Lista eficiente Lista de compreensões As compreensões não podem conter instruções. Antes da morsa, o uso de um valor calculado para filtragem e saída significava computá -lo ineficiente duas vezes. A maneira ineficiente: # a função caro_operation (x) é chamada duas vezes # para cada x que passa o filtro. Resultados = [expensive_operation(x) for x in data if expensive_operation(x) > 5]

Digite o modo de saída do modo de tela cheia, o modo Walrus Way (eficiente e poderoso): # O valor é calculado uma vez, atribuído a ‘y’, # e usado na condição e na saída. Resultados = [y for x in data if (y := expensive_operation(x)) > 5]

Digite o modo de saída do modo de tela cheia, este é um excelente exemplo de onde o operador Walrus é uma vitória clara: mantém a legibilidade ao resolver um problema real de desempenho e redundância. A regra crucial: Legabilidade Primeiro, o operador Walrus é uma ferramenta, não um mandato. Sua maior armadilha é sacrificar a clareza pela concisão. Pergunte a si mesmo: “Isso facilita o entendimento do meu código?” ❌ Evite: os operadores desnecessários de Walrus de complexidade ou usá -los em expressões já complexos prejudicam a legibilidade. # Não faça isso. É inteligente, mas confuso. if (x: = (y: = calcular_z ()) + 1)> 10: … insira o modo de saída do modo de tela cheia ✅ preferência: clareza sobre inteligência e uma atribuição simples em sua própria linha é a escolha mais legível. # Faça isso. É explícito e fácil de depurar. Valor = get_user_input () Se Valor: Process (Value) # Isto, embora mais curto, pode ser menos claro rapidamente. # if (value: = get_user_input ()): # Process (value) Digite Modo FullScreen Modo Modo de tela cheia A linha inferior: o operador da morsa é uma adição fantástica ao Python. Use -o para simplificar as estruturas de loop e eliminar a computação redundante em compreensões. Mas lembre -se sempre: se uma tarefa simples for mais clara, fique com isso. Escreva o código para humanos primeiro, compiladores em segundo. Aaron Rose é engenheiro de software e escritor de tecnologia do Tech-Reader.Blog e autor da série Rose Theory sobre matemática e física.

Fonte

Você pode ter perdido