挖槽,小米今天上市就破发了,好多认购的小伙伴有点慌了,其实对于小帅b来说这很正常,没必要慌,保持持有就好了,相信小米会越来越牛逼的。小米和可能会成为互联网新一代的霸主主一,到时候可能就不是BAT了,而是ATM。
微信后台有小伙伴给我留言说:
「希望可以写一篇专门介绍各种符号的意义及用法」
小帅b觉得对新手来说是有必要的,所以就写一篇专门介绍各种符号的意义及用法吧。突然感觉自己当了回小学数学老师,小帅b就是这么好人。
我们小时候,老师都教过我们 1+1=2 ,这个 「1+1」 就是表达式, 「+」 就是运算符。
咱们接下来就来了解一下,在 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。
ok,以上,其实没必要去记住,了解一下就这些符号是什么意思,怎么算的就好了。
扫一扫关注,学习python
ps:还没获取我精心准备的 Python 电子书和思维导图等干货的可以在我的公众号「学习Python的正确姿势」中发送 python 免费获取哦!
再ps:说真的,如果你能点个赞转发支持我一下我会更有动力写。