O que faz o “|” assinar média em Python?
-
03-07-2019 - |
Pergunta
Esta questão pedido inicialmente (erradamente) o que faz "|" significa em Python, quando a questão real era cerca de Django. Essa pergunta tinha uma resposta maravilhosa por Tríptico eu quero preservar.
Solução
Em Python, o operador '|'
é definido por padrão em tipos inteiros e tipos definidos.
Se os dois operandos são inteiros, então ele irá realizar um bit a bit ou , que é uma operação matemática.
Se os dois operandos são tipos set
, o operador '|'
voltará a união dos dois conjuntos.
a = set([1,2,3])
b = set([2,3,4])
c = a|b # = set([1,2,3,4])
Além disso, os autores podem definir o comportamento do operador para tipos personalizados, por isso, se something.property
é um objeto definido pelo usuário, você deve verificar que a definição de classe para um método __or__()
, que irá definir o comportamento em sua amostra de código.
Assim, é impossível dar-lhe uma resposta precisa sem saber os tipos de dados para os dois operandos, mas normalmente será um bit a bit ou.
Outras dicas
Bitwise OR
Ele também poderia ser "enganado" em um tubo como em shells UNIX, consulte aqui http : //code.google.com/p/python-pipeline/