Study 3 —— Python运算符
参考资料:http://www.runoob.com/python/python-operators.html#ysf2
定义变量:
a = 10, b = 20
算术运算符:
运算符 |
描述 | 实例 |
+ | 加 | a + b = 30 |
- | 减 | a - b = -10 |
* | 乘 | a * b = 200 |
/ | 除 | b / a = 2 |
% | 取余 | b % a = 0, 9 % 4 = 1 |
** | 幂 | a ** 2 = 100 |
// | 整除 | a // b = 0, 9 // 4 = 2 |
比较(关系)运算符:
运算符 | 描述 | 实例 |
== | 等于 | a == b 返回 False. |
!= | 不等于 | a != b 返回 True. |
<> | 不等于 | a <> b 返回 True. |
> | 大于 | a > b 返回 False. |
< | 小于 | a < b 返回 True. |
>= | 大于等于 | a >= b 返回 False. |
<= | 小于等于 | a <= b 返回 True. |
赋值运算符:
运算符 | 描述 | 实例 |
= | 简单的赋值运算符 | a = 10 将10赋值给a |
+= | 加法赋值运算符 | b += a 等效于 b = b + a |
-= | 减法赋值运算符 | b -= a 等效于 b = b - a |
*= | 乘法赋值运算符 | b *= a 等效于 b = b * a |
/= | 除法赋值运算符 | b /= a 等效于 b = b / a |
%= | 取模赋值运算符 | b %= a 等效于 b = b % a |
**= | 幂赋值运算符 | b **= a 等效于 b = b ** a |
//= | 取整除赋值运算符 | b //= a 等效于 b = b // a |
逻辑运算符:
运算符 | 逻辑表达式 | 描述 | 实例 |
and | x and y |
布尔"与" , 如果 x 为 False,x and y 返回 False, 否则它返回 y 的计算值。 |
a and b 返回 20. |
or | x or y |
布尔"或" , 如果 x 是非 0,它返回 x 的值, 否则它返回 y 的计算值。 |
a or b 返回 10. |
not | not x |
布尔"非" , 如果 x 为 True,返回 False. 如果 x 为 False,返回 True。 |
not a 返回 False. |
位运算符:
按位运算符是吧数字看作二进制来计算的:10的二进制为0000 1010,20的二进制为0001 0100
运算符 | 描述 | 实例 |
& |
按位与:参与运算的两个值, 如果两个相应位都为1,则该位的结果为1,否则为0 |
(a & b) 输出结果0 ,二进制解释: 0000 0000 |
| | 按位或:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b) 输出结果30,二进制解释: 0001 1110 |
^ | 按位异或:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果30 ,二进制解释: 0001 1110 |
~ |
按位取反:对数据的每个二进制位取反, 即把1变为0,把0变为1 。~x 类似于 -x-1 |
(~ a ) 输出结果-11 ,二进制解释: 0000 1011, 在一个有符号二进制数的补码形式。 |
<< |
左移动:运算数的各二进位全部左移若干位, 由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 |
a << 2 输出结果40,二进制解释: 0010 1000 |
>> |
右移动:把">>"左边的运算数的各二进位全部右移若干位, ">>"右边的数指定移动的位数 |
a >> 2 输出结果2,二进制解释: 0000 0010 |
成员运算符:
运算符 | 描述 | 实例 |
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
身份运算符:
运算符 | 描述 | 实例 |
is | is 是判断两个标识符是不是引用自一个对象 |
a is b, 类似 id(a) == id(b) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 |
a is not b , 类似 id(a) != id(b)。 如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
运算符优先级:
运算符 | 描述 |
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |