Pipe personaje en Python

Veo un carácter de “canalización” ( | ) usado en una llamada de función:

 res = c1.create(go, come, swim, "", startTime, endTime, "OK", ax|bx) 

¿Cuál es el significado de la tubería en ax|bx ?

Es un OR a nivel de bits de enteros. Por ejemplo, si uno o ambos de ax o bx son 1 , esto se evalúa a 1 , de lo contrario a 0 . También funciona en otros enteros, por ejemplo 15 | 128 = 143 15 | 128 = 143 , es decir, 00001111 | 10000000 = 10001111 00001111 | 10000000 = 10001111 en binario.

Este es también el operador conjunto sindical.

 set([1,2]) | set([2,3]) 

Esto resultará en set([1, 2, 3])

OR en el bit

Sí, todas las respuestas anteriores son correctas.

Aunque podría encontrar casos de uso más exóticos para “|”, si es un operador sobrecargado utilizado por una clase, por ejemplo,

https://github.com/twitter/pycascading/wiki#pycascading

 input = flow.source(Hfs(TextLine(), 'input_file.txt')) output = flow.sink(Hfs(TextDelimited(), 'output_folder')) input | map_replace(split_words, 'word') | group_by('word', native.count()) | output 

En este caso de uso específico, la tubería “|” operador puede ser mejor pensado como un operador de tubería de Unix. Pero estoy de acuerdo, el operador de bit y el operador de conjuntos sindicales son casos de uso mucho más comunes para “|” en python.

Es un bit-o

La documentación para todos los operadores en Python se puede encontrar en la página Índice – Símbolos de la documentación de Python.