2009-01-06 164 views

回答

17

在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__()方法,那么这将定义您的代码示例中的行为。

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

0

按位或