一、算数运算符
1.1 整除 除法取整---向下取整
python2 中得到的是整数
整除是python才有的语法,正数和负数都是向下取整(相邻整数取最小的)。
负数整除也是向下取整。
3//2 约等于1.5 向下取整为 1,
5//2 约等于2.5 向下取整为 2,
-3//2 约等于-1.5 向下取整为-2,
-5//2 约等于 -2.5 向下取整为 -3
1.2 幂运算:---几次方
1.3 平方根
1.4 取模运算--- % 取余数
可以进行奇偶判断,对2取模,余1是奇数,余0 则为偶数
二、位运算符
- & 位与
- | 位或
- ^ 异或
- << 左移
- >> 右移
- ~ 按位取反,包括符号位
2.1 位与
两个数的二进制做与运算。
7 & 1
0111
0001 &
-------------
0001 ---> 1
可以此来判断奇偶性,因为每个奇数的最低位都是1,而偶数的最低位都是0.
可用此方法判断奇偶性,与运算的性能是高于取模运算的。
2.2 位或
两个数的二级制做或运算
参与运算的两个数中,只要有一个为1,则该位结果为1.
0001
0001 或运算
-------
0001 ---> 0o(1)
0010
0001 或运算
------
0011 ---- 0o(3)
2.3 异或
参加运算的两个数,按二进制位进行“异或”运算。
如果两个相应位为“异”(值不同),则该位结果为1,否则为0。
0001 异或运算
-------
0000 ---> 0o(0)
0010
0001 异或运算
------
0011 ---> 0o(3)
2.4 左移
向左移动,最低位补0
7 << 1
结果为14
左移n位就是乘以 2的n次方
7 | 0b0111 |
14 | 0b1110 |
2.5 右移
向右移动,最高位补0
右移n位就是除以 2的n次方
三、比较运算符
- 是否相等:==
- 是否不等于:!=
- 大于:>
- 小于:<
- 大于等于:>=
- 小于等于:<=
比较运算符返回的是一个 bool 值,另外python中不允许跨类型比较。
四、真假值
0 与 空 为假,其他值包括空格都为真。
None 等效为空
关于空:
- 空容器
- 空集合 set
- 空字典 dict
- 空列表 list
- 空元组 tuple
- 空字符串
- ""
- None
- 0
这些都为假 False
五 、逻辑运算
and:如果比较的值都为True则结果为True,有一个为False 则结果为False
or:比较的值有一个为True,则结果为True
短路运算:
逻辑运算符也是短路运算符
比如and运算中,多个条件比较,前面的结果有False,其结果必然为False,后面就没要计算了。
同样的 or 运算中,如果前面出现了 True,则结果必然为True, 后面的就没必要计算了。
短路运算是一种运算思想,把最频繁使用的,最少计算就可以得到结果的条件放到前面,如果它能短路,则后面的计算就不需要了。
https://www.hugbg.com/archives/2926.html
评论