2009-01-06 19 views
7

This question originalmente preguntado (erróneamente) qué significa "|" significa en Python, cuando la verdadera pregunta era sobre Django. Esa pregunta tuvo una respuesta maravillosa de Tríptico que quiero preservar.¿Qué significa el signo "|" en Python?

+0

Buen intento, pero cuando usted hace el CW Post, todas las respuestas son CW también. –

+0

La casilla wiki de la comunidad está marcada de manera predeterminada, puede deseleccionarla para que tenga una respuesta wiki no comunitaria –

+0

Esto simplemente no debería ser una publicación de CW. No es una pregunta "real" porque Vinko probablemente ya sepa la respuesta. Pero sigue siendo real en cuanto a que se trata de programación y la gente puede buscarlo en Google y tal. – Triptych

Respuesta

17

En Python, el operador '|' se define de forma predeterminada en tipos enteros y tipos establecidos.

Si los dos operandos son enteros, entonces realizará un bitwise or, que es una operación matemática.

Si los dos operandos son tipos set, el operador '|' devolverá la unión de dos conjuntos.

a = set([1,2,3]) 
b = set([2,3,4]) 
c = a|b # = set([1,2,3,4]) 

Además, los autores pueden definir el comportamiento del operador para este tipo de encargo, por lo que si something.property es un objeto definido por el usuario, se debe comprobar que la definición de clase de un método __or__(), que a su vez definir el comportamiento en el ejemplo de código.

Por lo tanto, es imposible darle una respuesta precisa sin conocer los tipos de datos para los dos operandos, pero generalmente será un bitwise o.

0

OR bit a bit

Cuestiones relacionadas