网站首页 > 资源文章 正文
上一篇重点学习了Python的数字类型。有了数据,我们就可以通过运算符把他们连接起来,形成表达式。进而通过表示式进行运算,最后返回一个结果。所以这篇我们要接触到①算术运算符、②比较运算符、③逻辑运算符、④位运算符、⑤赋值运算符以及⑥运算符的优先级。
一、算术运算符
算术运算符用于组织整数类型和浮点类型的数据,有一元运算符和二元运算符之分。
一元算术运算符有两个:+(正号)和-(负号),例如:+a还是a,-a是对a的取反运算。
二元算术运算符如下:
动动手,在PythonShell中运行代码,看看运行结果怎样?
二、比较运算符
比较运算符用于比较两个表达式的大小,其结果是布尔类型的数据,即True或False。
动动手,在PythonShell中运行代码,看看运行结果怎样?
数字类型的数据可以使用运算符进行比较,其他类型的数据呢?
比较运算符可用于任何类型的数据,但参与比较的两种类型的数据要相互兼容,即能进行隐式转换,例如:整数,浮点和布尔这三个类型是相互兼容的。
动动手,在PythonShell中运行代码,看看运行结果怎样?
三、逻辑运算符
逻辑运算符用于对布尔类型变量进行计算,其结果也是布尔类型。
在很多编程语言中,“逻辑与”和“逻辑或”都采用了“短路”设计。Python是否采用了“短路”设计?
Python也采用了“短路”设计,“短路”是指“逻辑与”和“逻辑或”在计算过程中只要结果确定,则不再计算后面的表达式,从而提高效率,有点像电路短路。
我们在Python Shell中运行代码,看看运行结果怎样。
四、位运算符
位运算符是以二进位(bit)进行运算的,操作数和结果都是整数类型的数据。
符号位:正数符号位为0;负数符号位为1。
动动手 我们在Python Shell中运行代码,看看运行结果怎样。
我对按位取反运算很困惑,
在按位取反运算中涉及原码、补码、反码运算。
比较麻烦,我归纳我总结了一个公式:~a=(a+1)×-1,如果a为十进制数178,则~a为十进制数-179;如果a为十进制数-21,则~a为十进制数19,怎么样?公式不错吧。
五、赋值运算符
我想编写赋值语句a=a+b,总觉得这样写比较麻烦。其实有简便方法,可以用a+=b替代,+=是赋值运算。赋值运算符只是一种简写,只有算数运算和位运算中的二元运算符才有对应的赋值运算符。
动动手 我们在Python Shell中运行代码,看看运行结果怎样。
六、运算符的优先级
数学中的运算符是有优先级的。程序代码中的运算符也是有优先级的。并且基本一致,但是有的运算符在数学上并不存在。这里归纳了一个表格,注意:表格中从上到下优先级依次降低,同一行有相同的优先级。
简记:
括、幂、位反、正负;
乘除取余地板除、加减;
移、与、异或、比;
逻非、与或。
动动手 我们在Python Shell中运行代码,看看运行结果怎样。
位运算的难点在位反,右移和左移。
位反过程比较复杂,但可以使用归纳的公式:~a=(a+1)×-1推断出结果。右移是高位采用符号位补位,符号位为1说明是负数,用1补位;符号位为0说明为正数,用0补位。
在位运算优先级中,优先级从高到低大体是:算术运算符→位运算符→关系运算符→逻辑运算符→赋值运算符。(简记:算位关逻赋)
练一练
1、设有变量赋值x=3.5;y=4.6,z=5.7.则以下表达式中值为True的是(BD)
A、x>y or x>z
B、x!=y
C、z>y+x
D、x<y and not(x>z)
解析:x>y or x>z:即3.5>4.6 or 3.5>5.7,False
x!=y:即3.5≠4.6,True
z>y+x:即5.7>3.5+4.6,False
x<y and not(x>z):即3.5<4.6 and 非3.5>5.7,True
2、下列关于使用“<<”和“>>”操作符,结果正确的是:(AC)
A、0b10100>>4的结果是1
B、0b10100>>4的结果是2
C、0b0000101<<2的结果是20
D、0b0000101<<2的结果是10
解析:0b10100>>4的输出结果是1,即向右移动4位00001(高位采用符号位补位)
0b0000101<<2的输出结果是20,即向左移动两位为10100(低位用0补位),
3、下列表达式中哪两个相等?(CD)
A、16>>2
B、16/2**2
C、16*4
D、16<<2
解析:16>>2:十进制数16的二进制数是10000,向右移动两位为100,输出结果为4
16/2**2:先乘法后除法,16/4=4.0
16*4:16×4=64,输出结果为64
16<<2:十进制数16的二进制数是10000,向左移动两位为1000000,输出结果为64
4、下列关于运算符优先级的描述正确的是(B)
A、算术运算符→赋值运算符→关系运算符,依次从高到低
B、算术运算符→关系运算符→赋值运算符,依次从高到低
C、关系运算符→赋值运算符→算术运算符,依次从高到低
D、关系运算符→算术运算符→赋值运算符,依次从高到低
解析:优先级从高到低是:算位关逻赋
本章内容比较基础,位运算和运算符的优先级有点困难,其他内容都比较简单。学习笔记结束,接下来是本周实用的收藏:
有时候在网页下载软件,都会随之携带一些流氓软件。
常规的卸载根本不起效,这里有个笨办法,就是让电脑进入安全模式。一旦进入安全模式,可以删除一切流氓软件及应用。那么问题来了,怎么进入安全模式?
切记:(绝对不是把键盘F8摁到报废)
正确进入安全模式的方法之一是:按下键盘win+r,在弹出的运行框中输入msconfig,点击确定。
在系统配置窗口选择引导,再选择安全引导,默认选择下方的最小,点击确定,然后选择重启电脑。这样就进入了安全模式。在安全模式下就可以卸载之前的顽固流氓软件了。
等到卸载电脑上不需要的软件完成之后,重新按下键盘win+r,在弹出的运行框中再次输入msconfig,点击确定,选择引导,安全引导前的√取消掉,点击确定,然后选择重启电脑。这样就恢复到正常使用了。
猜你喜欢
- 2024-09-08 1.2 计算机内信息的表示与存储(计算机内部信息的表示及存储采用的是)
- 2024-09-08 C++手撕底层:位、字节、原码、反码、补码的深入理解
- 2024-09-08 算法水题练习(二)(算法题模板)
- 2024-09-08 二进制是怎么减法运算的?(二进制是怎么减法运算的原理)
- 2024-09-08 “原码、反码、补码”计算机如何更好的实现算法?
- 2024-09-08 PLC的加、减、乘、除指令有什么用?其实功能十分强大!
- 2024-09-08 【1682023】指令:NEG(088)—— 完成二进制求补的功能指令
- 2024-09-08 C语言-自运算、位运算、取反运算(c语言位运算的运算规则)
- 2024-09-08 软件设计(十三)-原码、反码、补码、移码
- 2024-09-08 原码、反码和补码:深度解析C语言中的二进制表示
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)