Python中的“|”符号代表什么意思?

11

这个问题最初错误地询问了在Python中"|"的含义,实际上是关于Django的。该问题有一个由Triptych提供的精彩答案,我想保留它。


不错的尝试,但是当你将帖子标记为 CW 时,所有的回复也都是 CW。 - Paul Tomblin
1
这篇文章不应该是 CW 帖子。这不是一个“真正”的问题,因为 Vinko 可能已经知道答案。但它仍然是关于编程的真实问题,人们可以通过谷歌等搜索引擎找到相关信息。 - Kenan Banks
1
谢谢。说实话,我有点生气,因为一个问题的措辞不当导致一个好的答案被浪费了。很有趣,我们在开辟wiki Q&A空间时遇到了各种问题。 - Kenan Banks
可能是Python中的管道字符的重复问题。 - AncientSwordRage
@Pureferret:这是一个比另一个更一般的问题,后者只涉及我们作为按位或运算符。 - e100
显示剩余2条评论
3个回答

27
在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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接