Definindo operadores personalizados em Python
Embora o Python não ofereça suporte inerente a definições de operadores personalizados, existe uma solução alternativa que permite criar e utilizar eles.
Operadores Infix
Operadores Infix são aqueles que aparecem entre operandos, como , * e ==. Para definir um operador infix, você pode usar a classe Infix:
x = Infix(lambda x, y: x * y)
Isso criará um operador |x| que executa a operação dada. Por exemplo:
print(2 |x| 4) # Output: 8
Outros operadores personalizados
Você também pode definir o prefixo , operadores postfix, circunfixos e infixos não associativos. Aqui estão alguns exemplos:
Prefixo
inc = Prefix(lambda x: x 1)
print(inc(1)) # Output: 2
Postfix
negate = Postfix(lambda x: -x)
print(10 negate()) # Output: -10
Circunfixo
greater_than = Circumfix(lambda x, y: x > y)
print(2 greater_than 1) # Output: True
Infixo não associativo
xor = Infix(lambda x, y: x ^ y)
print(1 xor 2 xor 3) # Output: 0 (not 7)
Ao utilizar essas técnicas, você pode estender a funcionalidade do Python e criar operadores personalizados adaptados aos seus requisitos específicos.
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