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

问题描述:

This question最初问(错误地)是什么“|”意思是在Python中,当真正的问题是关于Django。这个问题有一个我想保留的三联画的精彩答案。Python中“|”符号的含义是什么?

+0

不错的尝试,但是当你的帖子CW,所有的反应是CW为好。 – 2009-01-06 17:21: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__()方法,那么这将定义您的代码示例中的行为。

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

按位或

在Unix shell它也可以被“骗”到管道一样,看到这里http://code.google.com/p/python-pipeline/