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

Vin*_*vic 7 python syntax-rules

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

Tri*_*ych 19

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

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

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

a = set([1,2,3])
b = set([2,3,4])
c = a|b  # = set([1,2,3,4])
Run Code Online (Sandbox Code Playgroud)

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

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