以下假设a=3,b=2;x = 2,y = [1,2,3,4]:
一、算术运算符
运算符
|
描述
|
实例
|
+
|
连接两个相同类型对象或两个数相加
|
a+b 结果为5
|
-
|
得到负数或两个数相减
|
a-b 结果为1
|
*
|
返回一个被重复若干次的字符串或两个数相乘
|
a*b 结果为6
|
/
|
两个数相除
|
a/b 结果为1.5
|
%
|
求余
|
a/b 结果为1
|
**
|
求幂
|
a**b 结果为9
|
//
|
取商的整数部分
|
a//b 结果为1
|
二、比较运算符
运算符
|
描述
|
实例
|
==
|
比较两对象是否相等
|
a!=b 结果为True
|
!=
|
比较两对象是否不等
|
a!=b 结果为True
|
>
|
比较是否左边大于右边
|
a>b 结果为True
|
<
|
比较是否左边小于右边
|
a<b 结果为False
|
>=
|
比较是否左边大于等于右边
|
a>=b 结果为True
|
<=
|
比较是否左边小于等于右边
|
a<=b 结果为False
|
三、赋值运算符
运算符
|
描述
|
实例
|
=
|
简单的赋值运算符
|
c = a +b 将a+b的结果赋值给c
|
+=
|
加法赋值运算符
|
c +=a 等效于c = c + a
|
-=
|
减法赋值运算符
|
c -=a 等效于c = c - a
|
*=
|
乘法赋值运算符
|
c *=a 等效于c = c * a
|
/=
|
除法赋值运算符
|
c /=b 等效于c = c / b
|
%=
|
取模赋值运算符
|
c %=b 等效于c = c % b
|
**=
|
幂赋值运算符
|
c **=b 等效于c = c ** b
|
//=
|
取整除赋值运算符
|
c //=b 等效于c = c // b
|
四、位运算符
运算符
|
描述
|
实例
|
&
|
参与运算的两个相应位同为1结果为1,否则为0
|
a & b 结果为0010
|
|
|
参与运算的两个相应位有一个为1,结果就为1
|
a | b 结果为0011
|
^
|
当两对应的二进位相异时,结果为1
|
a ^ b 结果为0001
|
~
|
对每个二进制位取反,即把1变为0,把0变为1
|
~a 结果为1100
|
<<
|
运算数的各二进位全部左移若干位
|
a<< 1 结果为0110
|
>>
|
运算数的各二进位全部右移若干位
|
a >> 1 结果为0001
|
五、逻辑运算符
运算符
|
逻辑表达式
|
描述
|
实例
|
and
|
x and y
|
若x为False,结果为False,否则结果为y的计算值
|
(a and b)返回2
|
or
|
x or y
|
若x为True,返回 x 的值,否则返回 y 的计算值
|
(a or b)返回3
|
not
|
not x
|
x 为 True,返回 False ;x 为 False,返回 True
|
(not a)返回False
|
六、成员运算符
运算符
|
描述
|
实例
|
in
|
若在指定的序列中则返回True,否则返回False
|
x in y 结果为True
|
not in
|
若不在指定的序列中则返回True,否则返回False
|
x not in y 结果为False
|
七、
身份运算符
运算符
|
描述
|
实例
|
is
|
判断两个标识符是不是引用自一个对象
|
x is y 结果为False
|
is not
|
判断两个标识符是不是引用自不同对象
|
x is not y 结果为True
|
八、运算符优先级
运算符
|
描述
|
**
|
指数(最高优先级)
|
~ + -
|
按位翻转, 一元加号和减号
|
* / % //
|
乘,除,取模和取整除
|
+ -
|
加法减法
|
>> <<
|
右移,左移运算符
|
&
|
位 'AND'
|
^ |
|
位运算符
|
<= < > >=
|
比较运算符
|
<> == !=
|
等于运算符
|
= %= /= //= -= += *= **=
|
赋值运算符
|
is is not
|
身份运算符
|
in not in
|
成员运算符
|
and or not
|
逻辑运算符
|