有时候会忘一些基础的知识,写一篇作为备忘不定时更新。
运算符:
算术:
/ - 除法: 1/3 = 0.333333333, 6/3 = 2.0
// - 取整除: 1//3 = 0, 4//3 = 1
% - 取模(取余): 2%5 = 5, 10%5 = 0, 3%5 = 3, 1%5 = 1, 4%5 = 4
** - 次方: 5**2 = 25, 3**3 = 27
比较:
<>:不等于,和!-一样
>=, <=:大于等于,小于等于,注意等号永远在右侧
位(二进制下):
& 相应位置都为1为1,否则为0:
5 & 1(0101 & 0001) = 1(0001)
| 相应位置有一个为1则为1:
5 | 2(0101 | 0010) = 7(0111)
^ 相应位置不同则为1:
5 ^ 1(0101 ^ 0001) = 4(0100)
~ 相应位置为1则为0,为0则为1:
~5 (~0101)= 10(1010)
<< 往左移,用0补齐:
5 <<1 (0101<<1)= 10(1010)
>> 往右移,用0补齐:
5 >>1 (0101>>1)= 2(0010)
运算符优先级:
运算符优先级和数学中的一样。
divmod:
divmod(a,b) = (a//b, a%b)。 结果type是tuple。