4.Python运算符

1 算术运算符

算术运算符用于组织整数类型和浮点类型的数据,有一元运算符和 二元运算符之分。

一元算术运算符有两个:+(正号)和-(负号),例如:+a还是a ,-a是对a的取反运算。

二元算术运算符如右表所示。

2 比较运算符

比较运算符用于比较两个表达式的大小,其结果是布尔类型的数据 ,即True或False。

问:数字类型的数据可以使用比较运算符进行比较,其他类型的数据也可以吗?

答:比较运算符可用于任意类型的数据,但参与比较的两种类型的数据要相互兼容,即能进行隐式转换。例:整数、浮点和布尔这三种类型是相互兼容的。

3 逻辑运算符

逻辑运算符用于对布尔型变量进行运算,其结果也是布尔型。

问:我听说在很多编程语言中“逻辑与”和“逻辑或”都采用了“短路”设计。什么是“短路”设计?Python是否采用了这种设计?

答:Python也采用了“短路”设计。“短路”指“逻辑与”和“逻辑或”在计算过程中只要结果确定,则不再计算后面的表达式,从而提高效率,有点像电路短路。

4 位运算符

位运算是以二进位(bit)为单位进行运算的,操作数和结果都是整 数类型的数据。

问:取反运算?

答:在按位取反运算中涉及原码、补码、反码运算,比较麻烦。我归纳总结了一个公式:~a = (a+ 1) ×-1,加果a为十进制数178,则~a为十进制数-179;  如果a为十进制-20,则~a为十进制数19。

5 赋值运算符

问:我想编写赋值语句a = a+ b,总觉得这样写比较麻烦,有简便方法吗?

答:嗯,当然有。可以用α+=b替代,+=是赋值运算。赋值运算符只是一种简写,只有算术运算和位运算中的二元运算符才有对应的赋值运算符。
 

6 运算符的优先级

问:数学中的运算符是有优先级的。程序代码中的运算符是不是也有优先级呢?

答:嗯,这个必须有。程序代码中的运算符与数学中的运算符都是有优先级的,并且基本一致,但是有的运算符在数学中并不存在。我归纳了一个表格,注意,表格中从上到下优先级依次降低,同一行有相同的优先级。

7 练一练

1 设有变量赋值x=3.5;y=4.6;z=5.7,则以下表达式中值为True的 是()。

A.x>y or x>z

B.x!=y

C.z>y+x

D.x<y and not(x>z)

2 下列关于使用“<<”和“>>”操作符,结果正确的是()。

A.0b10100>>4的结果是1

B.0b10100>>4的结果是2

C.0b0000101<<2的结果是20

D.0b0000101<<2的结果是10

3 下列表达式中哪两个相等?()

A.16>>2   B.16/2**2   C.16*4   D.16<<2

4 下列关于运算符优先级描述正确的是( ).

A.算术运算符→赋值运算符→关系运算符,依次从高到低

B.算术运算符→关系运算符→赋值运算符,依次从高到低

C.关系运算符→赋值运算符→算术运算符,依次从高到低

D.关系运算符→算术运算符→赋值运算符,依次从高到

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值