前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

我的学习笔记:04运算符(运算符总结)

qiguaw 2024-09-08 06:38:18 资源文章 13 ℃ 0 评论


上一篇重点学习了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,点击确定,选择引导,安全引导前的√取消掉,点击确定,然后选择重启电脑。这样就恢复到正常使用了。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表