Je vois un caractère "pipe" (|
) utilisé dans un appel de fonction:
res = c1.create(go, come, swim, "", startTime, endTime, "OK", ax|bx)
Quelle est la signification du tuyau dans ax|bx
?
Il s'agit d'un OR au niveau du bit d'entiers. Par exemple, si l'un ou les deux ax
ou bx
sont 1
, cela équivaut à 1
, sinon à 0
. Il fonctionne également sur d'autres entiers, par exemple 15 | 128 = 143
, c'est à dire. 00001111 | 10000000 = 10001111
en binaire.
C'est également l'opérateur de jeu d'unions
set([1,2]) | set([2,3])
Cela se traduira par set([1, 2, 3])
Oui, toutes les réponses ci-dessus sont correctes.
Bien que vous puissiez trouver des cas d'utilisation plus exotiques pour "|", s'il s'agit d'un opérateur surchargé utilisé par une classe, par exemple,
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
Dans ce cas d'utilisation spécifique, le tuyau "|" L'opérateur peut être mieux considéré comme un opérateur de tuyau Unix. Mais je suis d'accord, l'opérateur par bits et l'opérateur d'ensemble d'unions sont des cas d'utilisation beaucoup plus courants pour "|" en Python.
C'est un bit ou.
La documentation pour tous les opérateurs dans Python peut être trouvée dans la page Index - Symboles de la documentation Python).