Python 算术运算符
在Python中,数字是最常用的数据类型。Python使用相同的符号作为基本的算术运算符,即+
表示加法,-
表示减法,*
表示乘法(大多数编程语言使用*
而不是数学/代数中的x
),/
表示除法(数学中的÷
)。
此外,Python还定义了几个其他的算术运算符,它们是“%”(取模运算符),**
(指数运算符)和//
(地板除法运算符)。
算术运算符是二元运算符,它们对两个操作数进行运算。Python完全支持混合算术运算。也就是说,两个操作数可以是两种不同的数值类型。在这种情况下,Python会将较窄的操作数扩展为更宽的类型。整数对象比浮点数对象窄,浮点数比复数对象窄。因此,int和float的算术运算结果是一个float。float和complex的运算结果是一个复数,类似地,整数和复数对象的运算结果是一个复数对象。
让我们通过示例来学习这些运算符。
Python加法运算符(+)
这个运算符读作加号,是一个基本的算术运算符。它将两个数字操作数相加,并返回相加的结果。
在下面的示例中,两个整数变量是“+”运算符的操作数。
它将产生以下 输出 −
整数和浮点数相加得到浮点数。
它将产生以下 输出 −
将浮点数加到复数的结果是一个复数。
它将产生以下 输出 。−
Python减法运算符(-)
这个运算符,被称为减号,从第一个操作数中减去第二个操作数。如果第二个操作数比较大,结果是一个负数。
第一个示例展示了两个整数的减法。
结果 –
整数和浮点数的减法遵循相同的原则。
它将产生以下 输出 −
在涉及复数和浮点数的减法中,实部参与运算。
它将产生以下 输出 −
Python 乘法运算符(*)
在Python(以及许多其他编程语言)中,*
(星号)符号被定义为乘法运算符。它返回两个操作数相乘的结果。如果其中任何一个操作数为负数,结果也为负数。如果两个操作数都是负数,则结果为正数。改变操作数的顺序不会改变结果。
它将产生以下输出: 输出 −
在乘法运算中,浮点数操作数可以使用标准的小数点表示法或科学计数法。
它将产生以下 输出 –
对于涉及一个复数操作数的乘法运算,另一个操作数乘以实部和虚部。
它将产生以下 输出 −
Python除法运算符(/
)
/
符号通常称为斜杠。除法运算符的结果 是被除数(左操作数)除以除数(右操作数)。如果任何一个操作数为负数,结果数字则为负数。由于无法将无限大存储在内存中,如果除数为0,Python会引发ZeroDivisionError错误。
在Python中,除法运算符的结果始终是浮点数,即使两个操作数都是整数。
下面是产生的输出: 输出 −
在除法中,浮点数操作数可以使用标准的小数点表示法,也可以使用科学计数法。
它将产生如下 输出 −
当操作数之一是复数时,将在另一个操作数和复数(实数和虚数)对象的两部分之间进行除法运算。
它将产生以下 输出 –
如果分子为0,除法的结果总是0,除非分母为0,在这种情况下,Python会抛出ZeroDivisionError错误,并显示Division by Zero错误消息。
它将产生以下输出
Python 模运算符(%
)
Python 定义了“%”符号,也被称为百分号符号,作为模运算符(或取模运算符)。它返回在分子被分母除后的余数。它也可以被称为余数运算符。模运算符的结果是整数商之后剩下的数。举个例子,当10被3除时,商是3,余数是1。因此,10%3(通常读作10 mod 3)的结果是1。
如果两个操作数都是整数,那么模运算的值也是整数。如果分子完全可被分母整除,余数为0。如果分子小于分母,模等于分子。如果分母为0,Python 抛出 ZeroDivisionError。
它将产生以下 输出 −
如果操作数中有任何一个为浮点型,那么取模的值将始终为浮点型。
它会产生以下 输出 –
Python不接受复数作为求模运算的操作数。它会抛出TypeError: unsupported operand type(s) for %。
Python指数运算符(**
)
Python使用**
(双星号)作为指数运算符(有时称为求幂运算符)。所以,对于a**b
,可以说a的b次方,甚至是a的第b个幂。
如果指数运算表达式中的两个操作数都是整数,则结果也是整数。如果其中一个是浮点数,则结果是浮点数。同样,如果其中任何一个操作数是复数,则指数运算符返回一个复数。
如果底数为0,则结果为0,如果指数为0,则结果始终为1。
它将产生以下 输出 −
Python 地板除法 (//
)
地板除法也被称为整数除法。Python使用//
(双斜线)符号来表示。与求模运算符不同,求模运算返回的是余数,而地板除法返回的是除法的商。
如果两个操作数都为正数,地板除法返回一个去除小数部分的数字。例如,9.8除以2的地板除法返回4(纯除法是4.9,去除小数部分,结果是4)。
但如果一个操作数为负数,结果向零取整(向负无穷大取整)。-9.8除以2的地板除法返回5(纯除法是-4.9,向0取整后结果是5)。
它将产生以下 输出 −
Python 复数运算
当两个操作数都是复数对象时,算术运算符的行为略有不同。
复数的加法和减法是对应实部和虚部的简单相加/相减。
将输出以下内容:输出
复数的乘法与代数中两个二项式的乘法类似。如果 “a+bj” 和 “x+yj” 是两个复数,则它们的乘法由以下公式给出−
例如,
以下程序确认结果−
理解两个复数的除法是如何进行的,我们应该使用复数的共轭。Python的复数对象有一个conjugate()方法,它返回一个具有虚部符号相反的复数。
将两个复数相除时,将分子和分母都乘以分母的共轭。
要进行验证,请运行以下代码 −
Python中的复数类不支持模运算符(%
)和地板除法运算符(//
)。