Python中“|”符号的含义是什么?

时间:2009-01-06 17:18:21

标签: python syntax-rules

This question最初(错误地)问了什么“|”在Python中,当实际问题是关于Django时。这个问题得到了我希望保留的Triptych的精彩答案。

3 个答案:

答案 0 :(得分:18)

在Python中,'|'运算符默认在整数类型和集类型上定义。

如果两个操作数是整数,那么它将执行bitwise or,这是一个数学运算。

如果两个操作数是set类型,'|'运算符将返回两个集合的并集。

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

此外,作者可以为自定义类型定义操作符行为,因此如果something.property是用户定义的对象,则应检查__or__()方法的类定义,然后定义行为。你的代码示例。

因此,如果不知道两个操作数的数据类型,就不可能给出精确的答案,但通常它将是一个按位或。

答案 1 :(得分:0)

按位OR

答案 2 :(得分:0)

它也可能被“欺骗”到类似于unix shell的管道中,请参阅此处http://code.google.com/p/python-pipeline/