责任编辑:
王王木木
时间:2021-06-07
来源:公众号:学习python的正确姿势
责任编辑:
王王木木
时间:2021-06-07
来源:公众号:学习python的正确姿势
1.加减乘除(+-/*)
对于 +-*/ 我们都知道它们是什么含义了吧,就算你的数学是体育老师教的,你也会懂加减乘除吧。
不过有两个小细节值得你去注意,就是字符串之间的相加和相乘:
看懂是啥意思了么?
字符串之间的相加会被"拼接"起来,而字符串和数字相乘就会重复多次相同的字符串。
其它的大于、小于、大于等于、小于等于就不说了,因为我们小学老师都跟我们说过了。接下来说几个比较少见的符号。
2.幂(**)
幂就是以前我们学数学的时候老师讲的什么什么几次方,别一看到幂就想到杨幂。
用符号 ** 表示, 比如 2**3 = 8。
3.整除(//)
我们知道 / 是除的意思,你知道 6/3 等于多少么?你可能会觉得在侮辱你的智商对不对,不是 2 么? 在 python 中得出的结果是 2.0 , 也就是它返回的是浮点数。 那么我们只想得到整数部分怎么玩呢?
用 // 这个 : 6//3 = 2。
4.取模(%)
取模的意思不是让你去获取个模特,是得到除法的余数,比如 8%5 = 3 ,因为 8/5 = 1余3。
5.左移(<<)和右移(>>)
如果你还不知道二进制是什么鬼,可以先看看我之前写的这个Pythoner:教你二进制八进制十六进制的快速转化。
移的意思就是把一个数的二进制移动多少个位。
比如 2 << 2 = 8 。这是为什么呢?
首先 2 的 二进制 是 0b00000010 ,然后将它左移2位(虚位补0)就变成这样: 0b00001000 ,它对应的十进制就是 8 。
同样的道理:
8 >> 2 的意思就是将 8 的二进制向右移动2位:
0b00001000 右移动2位:0b00000010 也就是对应十进制的 2。
那么下次有人问你2*8怎么样写代码比较高效,你就直接甩给它: 2<<3 就好了。
6.与(&)
记住一句话:"同真与真",什么意思呢? 比如 1&1=1,1&0=0,
1就是真,0就是假。也就是只有 1&1=1,其它的都等于0。
那么 2 & 3 怎么算?
先将它们转化为二进制:
2对应的二进制 : 0b00000010
3对应的二进制 : 0b00000011
那么从右往左: 0&1=0 ,1&1=1,0&0=0,所以结果为
0b00000010,转化为十进制就是2,所以 2&3=2。
7.或(|)
记住一句话:"同假或假",什么意思呢? 比如 1|1=1,0|0=0,
1就是真,0就是假。也就是只有 0|0=0,其它的都等于1。
那么 2 | 3 怎么算?
先将它们转化为二进制:
2对应的二进制 : 0b00000010
3对应的二进制 : 0b00000011
那么从右往左: 0|1=1 ,1&1=1,0&0=0,所以结果为
0b00000011,转化为十进制就是3,所以 2|3=3。
8.异或(^)
相同者假,不同者真,什么意思呢?就是 1^1=0, 1^0=1。
那么 2^3 怎么算?
先将它们转化为二进制:
2对应的二进制 : 0b00000010
3对应的二进制 : 0b00000011
那么从右往左: 0^1=1 ,1^1=0,0&0=0,所以结果为
0b00000001,转化为十进制就是1,所以 2^3=1。
9.翻转(~)
x的按位翻转就是是-(x+1)。
那么 ~2 怎么算?
~2 = -(2+1) ; 所以答案就是-3。
声明:本文来源于互联网,麦涛网本着传播知识、相互交流与学习的目的进行转载,并为网友免费提供。文章已尽力标明转载出处,如有著作权人或出版方提出异议,或有疑问,请随时联系(tel:0731-89579179,email:office@maitaonet.com)并告知我们,以便及时删除和纠正,谢谢。