"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 > Como definir e usar operadores personalizados em Python?

Como definir e usar operadores personalizados em Python?

Publicado em 2024-11-02
Navegar:225

How to Define and Use Custom Operators in Python?

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.

Declaração de lançamento Este artigo foi reimpresso em: 1729550238 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
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