首页 理论教育 Python即学即用:算术运算符及其功能描述

Python即学即用:算术运算符及其功能描述

时间:2023-10-27 理论教育 版权反馈
【摘要】:Python语言中的算术运算符有+、-、*、/、%、**和//,其中整除运算符//是从Python 2.2起新增加的运算符。同时Python也支持简单的单目运算符+和-。表2-1 算术运算符功能描述说明:“地板除”是指取比商小的最大整数,如5//2=2,-5//2=-3。注意:运算符/在Python2.x和Python3.x中有所区别。但在Python2.x中,如果运算符/的两个操作数都是整数,则为地板除,即1/2=0;如果运算符/的两个操作数中有浮点数,其才为真正的除法。

Python即学即用:算术运算符及其功能描述

Python语言中的算术运算符有+、-、*、/、%、**和//,其中整除运算符//是从Python 2.2起新增加的运算符。同时Python也支持简单的单目(只需要一个操作数)运算符+和-。 

各运算符的功能见表2-1(假设x=8,y=3)。 

2-1 算术运算符功能描述

978-7-111-53989-6-Chapter02-26.jpg

说明: 

(1)“地板除”(floor)是指取比商小的最大整数,如5//2=2,-5//2=-3。注意:运算符/在Python2.x和Python3.x中有所区别。在Python3.x中,运算符/对应着真正的除法,即1/2=0.5。但在Python2.x中,如果运算符/的两个操作数都是整数,则为地板除,即1/2=0;如果运算符/的两个操作数中有浮点数,其才为真正的除法。在Python2中可通过from _future_ import division将/改为真正的除法。 

978-7-111-53989-6-Chapter02-27.jpg

图2-3 算术运算符优先级

(2)表中运算符的优先级由上至下依次递减,如图2-3所示。(www.xing528.com)

其中幂运算符和一元操作符(正号和负号)之间的优先级比较特别:幂运算符比其左侧操作数的一元运算符优先级低,比其右侧操作数的一元运算符的优先级高。具体见下例: 

978-7-111-53989-6-Chapter02-28.jpg

注意: 

在算术运算中,通常要求操作数的类型一致,如果类型不一致,Python会检查一个操作数是否会转换成另一个类型的操作数,如果可以,则将操作数转换成相同类型并求结果。在Python中某些转换是不可能的,比如将一个复数转换为非复数类型。 

在Python中两个不同类型的操作数在表达式中相遇时的转换规则是:整型转换为浮点型(在整型的后面加个“.0”即可),非复数转换为复数(加个“0j”的虚数部分)。具体的转换规则如下: 

如果有一个操作数是复数,则另一个操作数转换为复数。否则,如果有一个操作数是浮点型,则另一个操作数转换为浮点型。否则,如果有一个操作数是长整型,则另一个操作数转换为长整型。否则,两者必然都是普通整型,无须类型转换。 

除了让Python对操作数进行自动转换,也可以利用转换函数对操作数进行显式转换。 

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈