Python算术运算符及用法详解
Python 支持所有的基本算术运算符,这些算术运算符用于执行基本的数学运算,如加、减、乘、除和求余等。下面是 7 个基本的算术运算符。
+:加法运算符,例如如下代码:
a = 5.2 b = 3.1 the_sum = a + b # sum的值为8.3 print("the_sum的值为:", the_sum)
除此之外,“+”还可以作为字符串(包括后续要介绍的序列)的连接运算符。例如如下代码:
s1 = 'Hello, ' s2 = 'Charlie' # 使用+连接两个字符串 print(s1 + s2)
-:减法运算符。例如如下代码:
c = 5.2 d = 3.1 sub = c - d # sub的值为2.1 print("sub的值为:", sub)
此外,“-”除可以作为减法运算利之外,还可以作为求负的运算符。请看如下代码:
# 定义变量x,其值为-5.0 x = -5.0 # 将x求负,其值变成5.0 x = -x print(x)
但单目运算符“+”则不对操作数做任何改变,例如如下代码:
# 定义变量y,其值为-5.0 y = -5.0 # y值依然是-5.0 y = +y print(y)
*:乘法运算符。例如如下代码:
e = 5.2 f = 3.1 multiply = e * f # multiply的值为16.12 print("multiply的值为:", multiply)
此外,“*”还可以作为字符串(包括后续要介绍的序列)的连接运算符,表示将 N 个字符串连接起来。例如如下代码:
s3 = 'crazyit ' # 使用*将5个字符串连接起来 print(s3 * 5)
上面代码将会输出:
crazyit crazyit crazyit crazyit crazyit
/ 或 //:除法运算符。Python 的除法运算符有两个:“/”表示普通除法,使用它除出来的结果与平常数学计算的结果是相同的(即除不尽时,会产生小数部分);而“//”表示整除,使用它除出来的结果只有整数部分,小数部分将会被舍弃。例如如下代码:
print("19/4的结果是:", 19/4) print("19//4的结果是:", 19//4) aa = 5.2 bb = 3.1 # aa / bb的值将是1.67741935483871 print("aa/bb的值是:", aa / bb) # aa // bb值将是1.0 print("aa//bb的值是:", aa // bb)
此外,Python 不允许使用。作为除数,否则将会引发 ZeroDivisionError 错误。
%:求余运算符。Python 不要求求余运算符的两个操作数都是整数,Python 的求余运算符完全支持对浮点数求余。求余运算的结果不一定总是整数,它是使用第一个操作数来除以第二个操作数,得到一个整除的结果后剩下的值就是余数。
由于求余运算也需要进行除法运算,因此求余运算的第二个操作数不能是 0,否则程序会报出 ZeroDivisionError 错误。
例如如下程序:
print("5%3的值为:", 5 % 3) # 输出2 print("5.2%3.1的值为:",5.2 % 3.1) # 输出2.1 print("-5.2%-3.1的值为:", -5.2 % -3.1) # 输出-2.1 print("5.2%-2.9的值为:", 5.2 % -2.9) # 输出-0.6 print("5.2%-1.5的值为:", 5.2 % -1.5) # 输出-0.8 print("-5.2%1.5的值为:", -5.2 % 1.5) # 输出0.8 #print("5对0.0求余的结果是:", 5 % 0.0) # 导致错误
运行上面程序,可以看到如下输出结果:
5%3的值为: 2 5.2%3.1的值为: 2.1 -5.2%-3.1的值为: -2.1 5.2%-2.9的值为: -0.5999999999999996 5.2%-1.5的值为: -0.7999999999999998 -5.2%1.5的值为: 0.7999999999999998
**:乘方运算符。Python 支持使用“**”作为乘方运算符,这是一个使用非常方便的运算符。由于开方其实是乘方的逆运算,因此实际上使用“**”也可进行开方运算。例如如下代码:
print('5 的 2 次方:', 5 ** 2) # 25 print('4 的 3 次方:', 4 ** 3) # 64 print('4 的开平方:', 4 ** 0.5) # 2.0 print('27 的开 3 次方:',27 **(1 / 3 )) # 3.0
来源:PY学习网:原文地址:https://www.py.cn/article.html