Python算术运算符及用法详解

2023-12-13 22:11:32

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

文章来源:https://blog.csdn.net/hakesashou/article/details/134981552
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。