11

这个问题最初问(错误地)什么是“|” 在 Python 中的意思是,当实际问题是关于 Django 时。我想保留三联画对这个问题的精彩回答。

4

3 回答 3

26

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

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

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

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

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

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

于 2009-01-06T17:28:40.947 回答
0

按位或

于 2009-01-06T17:20:22.150 回答
0

它也可以像在 unix shell 中一样被“欺骗”到管道中,请参见此处http://code.google.com/p/python-pipeline/

于 2009-12-31T16:33:02.590 回答