小熊带你学Python(四)——数字类型和运算符(二)

本文介绍了Python中的算术运算符,如加、减、乘、除、取余和幂;关系运算符,包括等于、不等于、大于、小于等;逻辑运算符,如and、or、not;以及位运算符,如按位与、按位或、按位异或等。文章还提到了运算符的优先级,并指出使用括号来调整计算顺序的重要性。最后,预告了接下来将讨论流程控制语句。
摘要由CSDN通过智能技术生成

        运算符同样是在我们以前的+、-、×、÷的基础上进行一定程度的扩展。

Python中的运算符主要分为算术运算符、关系运算符、逻辑运算符、位运算符和一些特殊的可以算为运算符类的关系表示方式。

1、算术运算符

        算术运算符主要就是我们日常使用的加(+)、减(-)、乘(*)、除(/)、取余(%)、取整除 (//,表示返回商的整数部分(向下取整))、幂(**),具体看下面的例子:

>>>a = 1       #定义a赋值1
>>>b = 2       #定义b赋值2
>>>a + b       #计算a+b
3
>>>a - b       #计算a-b
-1
>>>a * b       #计算a*b
2
>>>a / b       #计算a/b
0.5
>>>a % b       #计算a%b
1
>>>a // b      #计算a//b
0
>>>b ** 2      #计算b的2次幂
4

        在实际中,不光数字我们可以用算术运算符进行计算,对以后要学习的字符串、元组、列表也能够使用进行一些对数据的操作,如同对数字的计算一样,在以后章节我们会遇到。

2、关系运算符

        关系运算顾名思义是对比两个以上的数据之间关系的内容的,具体有以下几类:等于(==),不等于(!=),大于(>),小于(<),大于等于(>=),小于等于(<=),比较之后会返回一个布尔型的值,如果满足条件返回True,如果不满足返回False。我们看下面例子:

>>>a = 1        #a赋值1
>>>b = 2        #b赋值2
>>>a == b       #判断a是否等于b,a不等于b,返回False
False
>>>a != b       #判断a是否不等于b,a不等于b,返回True
True
>>>a > b        #判断a是否大于b,a不大于b,返回False
False
>>>a < b        #判断a是否小于b,a小于b,返回True
True
>>>a >= b   #判断a是否大于等于b,只要满足大于或者等于一个条件便返回真,a不大于等于b,返回了False
False
>>>a <= b   #判断a是否小于等于b,只要满足小于或者等于一个条件便返回真,a小于等于b,返回了True
True

        同样,我们也可以对字符串等其他数据类型进行比较,在以后的章节会遇到。

单独区分一下“=”与“==”的区别:

“=”是一种赋值符号,表示将右边的数据赋值给左边,我们可以把“=”比作手,把等号右侧的数据比作物品,等号左边的比作一个大箱子,“=”就相当于把右侧的物品拿起放到左侧的箱子里。

“==”是一种关系运算符,表示来确认“==”两边的数据是否一样,是否相等,如同一面镜子,如果镜子里的是一个人那就是True,如果,出了问题,镜子中的人发生了魔术般的变化,那就会照出来的不是同一个人,则返回False,当然,这面镜子不是我们生活中的镜子了。

3、逻辑运算符

        逻辑运算顾名思义是对逻辑数据(或者说布尔数据)进行运算,得出布尔结论的运算符,主要有与(and)、或(or)、非(not)。我们来看例子:

>>>a = 0            #a赋值0
>>>b = 1            #b赋值1
>>>c = 2            #c赋值2
>>>c > b and b > a  #and主要判断两边的数据是否为True,只有全为True才会返回True,否则返回False
True
>>>c > b and b < a  #and主要判断两边的数据是否为True,只有全为True才会返回True,否则返回False
False
>>>c > b or b > a   #or主要判断两边的数据是否有True,只要有True才会返回True,否则返回False
True
>>>c > b or b < a   #or主要判断两边的数据是否有True,只要有True才会返回True,否则返回False
True
>>>c < b and b < a  #and主要判断两边的数据是否为True,只有全为True才会返回True,否则返回False
False
>>>c < b or b < a   #or主要判断两边的数据是否有True,只要有True才会返回True,否则返回False
False
>>>not a     #根据not后面的数据,如果数据为False,则返回True
True
>>>not b     #根据not后面的数据,如果数据为True,则返回False
False

4、位运算符

        位运算符主要是对二进制数字进行运算的运算符,因此,在执行位运算时,要将数字转化成二进制数字才能使用为运算符进行运算,位运算符主要有按位与“&”,按位或”|”,按位异或“^”,按位取反“~”,左移位“<<”,右移位“>>”。

        我们分别来看他们如何运算:

按位与“&”:两个二进制数,只有对应位都是1,结果才是1,否则都为0。

按位或“|”:两个二进制数,只要对应位都是0,结果才是0,否则都为1。

按位异或“^”:两个二进制数,只要对应为同时为0或者1,结果才是0,否则为1。

按位取反“~”:一个二进制数取反,1变为0,0变为1。

左移位“<<”:一个二进制数,向左移动相应的位数,溢出的高位舍弃,二进制后补充相应位数的0。

右移位“>>”:一个二进制数,向右移动相应的位数,如果最高位为0,舍弃最低位相应的位数,并在高位补充相应位数的0;如果最高位为1,舍弃最低位相应的位数,并在高位补充响应位数的1。

>>>0101&0011    #1&1为1,0&1为0,1&0为0,0&0为0
0001
>>>0101|0011    #1|1为1,0|1为1,1|0为1,0|0为0
0111
>>>0101^0011    #1^1为0,0^1为1,1^0为1,0^0为0
0110
>>>~0101        #~1为0,~0为1
1010
>>>01010011<<2  #左移后,溢出2位被舍弃,后面补0
01001100
>>>01010011>>2  #右移后,如果高位为0,则舍掉低位2位后,高位补0
00010100
>>>11010011>>2  #右移后,如果高位为1,则舍掉低位2位后,高位补1
11110100

5、运算符的优先级

        优先级就相当于小学中我们学到的“先算乘除后算加减”一样,Python语言中也有相应的优先级要求,但是,我们容易记混,所以,在使用各种符号进行计算时,我们用括号“()”来调整运算顺序,这里,我们就不再单独列举优先级运算情况了。

        下一节,我们将学习流程控制语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小熊恋旧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值