a = 10 b = 21
运算符 描述 实例
+ 加 两个对象相加;
a + b 输出结果 31
- 减 得到负数或是一个数减去另一个数;
a - b 输出结果 -11
* 乘 两个数相乘或是返回一个被重复若干次
的字符串;
a * b 输出结果 210
/ 除 x 除以 y;
b / a 输出结果 2.1
% 取模 返回除法的余数;
b % a 输出结果 1
** 幂 返回x的y次幂 ;
a**b 为10的21次方
// 取整除 向下取接近除数的整数 ;
9//2 # 4
-9//2 #-5
a = 10 b = 20
运算符 描述 实例
== 等于 比较对象是否相等
(a == b) 返回 False
!= 不等于 比较两个对象是否不相等
(a != b) 返回 True
> 大于 返回x是否大于y
(a > b) 返回 False
< 小于 返回x是否小于y
(a < b) 返回 True
>= 大于等于 返回x是否大于等于y
(a >= b) 返回 False
<= 小于等于 返回x是否小于等于y
(a <= b) 返回 True
注意:所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。
运算符 描述 实例
= 简单的赋值运算符 c = a + b将a + b的运算结果赋值为 c += 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
a = 60, b = 13
二进制形式:a = 0011 1100, b = 0000 1101
运算符 描述 实例
& 按位与运算符 (a & b) 输出结果 12 ,
二进制解释: 0000 1100
| 按位或运算符 (a | b) 输出结果 61 ,
二进制解释: 0011 1101
^ 按位异或运算符 (a ^ b) 输出结果 49 ,
二进制解释: 0011 0001
~ 按位取反运算符 (~a ) 输出结果 -61 ,
二进制解释: 1100 0011
<< 左移动运算符 a << 2 输出结果 240 ,
二进制解释: 1111 0000
>> 右移动运算符 a >> 2 输出结果 15 ,
二进制解释:0000 1111
a = 10, b = 20
运算符 逻辑表达式 描述 实例
and x and y 布尔"与" 如果x为 False,x and y 返回False,
否则它返回y的计算值
(a and b) 返回 20
or x or y 布尔"或" 如果x是 True,它返回x的值,
否则它返回y的计算值 (a or b) 返回 10
not not x 布尔"非" 如果x为 True,返回False 。
如果x为False,它返回True not(a and b) 返回 False
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False
x在y序列中,如果x在y序列中返回True
not in 如果在指定的序列中没有找到值返回 True,否则返回 False
x不在y序列中,如果x不在y序列中返回True
6.7 身份运算符
身份运算符用于比较两个对象的存储单元
运算符 描述 实例
is is是判断两个标识符是不是引用自一个对象
x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not是判断两个标识符是不是引用自不同对象
x is not y , 类似id(a)!=id(b)。如果引用的不是同一个对象则返回结果True,否则返回False。
以下表格列出了从最高到最低优先级的所有运算符:
运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
and or not 逻辑运算符