写一篇专门介绍python中各种符号的意义及用法
责任编辑:王王木木     时间:2021-06-07     来源:公众号:学习python的正确姿势
责任编辑:王王木木
时间:2021-06-07  来源:公众号:学习python的正确姿势
分类: 技术分享
浏览量: 298

 

 

 

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)并告知我们,以便及时删除和纠正,谢谢。


来源:公众号:学习python的正确姿势

点赞人: 公子老狄 

回复:

Copyright © 2021 .长沙麦涛网络科技有限公司 All rights reserved. 湘ICP备20015126号-2
联系我们