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.

Foi útil?

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/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top