如何在 Python 3 中使用算术运算符

发布时间:2024年01月18日

介绍

在编程中,数字是非常常见的。它们用于表示屏幕尺寸、地理位置、货币和点数、视频中经过的时间、游戏角色的位置以及通过分配数值代码表示颜色。

在编程中有效地执行数学运算是一种重要的技能,因为你会经常使用数字。尽管对数学有高层次的理解可以帮助你成为一个更好的程序员,但这并不是先决条件。如果你在数学方面没有背景,尝试将数学视为实现你想要达到的目标的工具,以及提高逻辑思维的方式。

我们将使用Python的两种最常用的数字数据类型,即整数浮点数

  • 整数 是可以是正数、负数或0的整数(…,-101,…)。
  • 浮点数 是实数,它们包含一个小数点(例如9.0-2.25)。

本教程将介绍在 Python 中可用于数字数据类型的运算符。

运算符

运算符是指示操作的符号或函数。例如,在数学中,加号或+是指示加法的运算符。

在Python中,我们将看到一些熟悉的从数学中引入的运算符,但我们将使用的其他运算符是特定于计算机编程的。

以下是Python中与数学相关的运算符的快速参考表。在本教程中,我们将涵盖下面所有的运算。

操作返回什么
x + yx和y的和
x - yx和y的差
-xx的符号变为相反
+xx本身
x * yx和y的积
x / yx和y的商
x // yx和y的floor除法商
x % yx除以y的余数
x ** yx的y次方

我们还将涵盖复合赋值运算符,包括+=*=,它们将算术运算符与=运算符结合在一起。

加法和减法

在Python中,加法和减法运算符的使用方式与数学类似。实际上,你可以将Python编程语言当作计算器使用。

让我们回顾一些例子,首先是整数:

print(1 + 5)
6

我们可以将整数直接传递到print语句中,但也可以初始化变量以代表整数值:

a = 88
b = 103

print(a + b)
191

由于整数可以是正数、负数或0(而且还可以是负数),我们可以将负数与正数相加:

c = -36
d = 25

print(c + d)
-11

对于浮点数,加法的行为类似:

e = 5.5
f = 2.5

print(e + f)
8.0

因为我们将两个浮点数相加,所以Python返回了一个带有小数点的浮点数值。

减法的语法与加法相同,只是将运算符从加号(+)更改为减号(-):

g = 75.67
h = 32

print(g - h)
43.67

在这里,我们从浮点数中减去了一个整数。如果参与方程的数字中至少有一个是浮点数,Python将返回一个浮点数。

一元算术运算

一元数学表达式只包含一个组件或元素,在Python中,加号和减号可以作为与值配对的单个元素使用,返回值的身份(+)或更改值的符号(-)。

虽然不常用,加号表示值的身份。我们可以将加号与正值一起使用:

i = 3.3
print(+i)
3.3

当我们使用加号与负值一起使用时,它还将返回该值的身份,并且在这种情况下,它将是负值:

j = -19
print(+j)
-19

对于负值,加号返回相同的负值。

另一方面,减号将更改值的符号。因此,当我们传递正值时,减号将返回负值:

i = 3.3
print(-i)
-3.3

或者,当我们使用负值的一元运算符时,将返回正值:

j = -19
print(-j)
19

加号和减号指示的一元算术运算符将分别返回值的身份(对于+i)或该值的相反符号(对于-i)。

乘法和除法

与加法和减法类似,乘法和除法在Python中看起来与数学中的形式非常相似。在Python中用于乘法的符号是*,用于除法的符号是/

以下是在Python中使用两个浮点数进行乘法的示例:

k = 100.1
l = 10.1

print(k * l)
1011.0099999999999

在Python 3中,无论使用两个整数还是两个浮点数,你的商将始终以浮点数返回:

m = 80
n = 5

print(m / n)
16.0

这是Python 2和Python 3之间的主要变化之一。 Python 3的方法提供了一个分数答案,因此当你使用/11除以2时,将返回商为5.5。在Python 2中,表达式11 / 2的商是5

Python 2的/运算符执行floor除法,其中对商x的返回数字是小于或等于x的最大整数。如果你使用Python 2而不是Python 3运行上面的示例print(80 / 5),你将得到没有小数点的输出16

在Python 3中,您可以使用//执行floor除法。表达式100 // 40将返回2的值。在需要商为整数的情况下,floor除法非常有用。

模数

%运算符是模数,它返回除法后的余数,而不是商。这对于查找相同数字的倍数非常有用,例如。

让我们看看模数的示例:

o = 85
p = 15

print(o % p)
10

要分解这个问题,85除以15的商是5,余数是10。这里返回的值是10,因为模数运算符返回除法表达式的余数。

如果我们使用两个浮点数进行模数运算,将返回余数的浮点值:

q = 36.0
r = 6.0

print(o % p)
0.0

在36.0除以6.0的情况下,没有余数,因此返回值为0.0

幂运算

在Python中,**运算符用于将左侧的数字提高到右侧的指数。也就是说,在表达式5 ** 3中,5正在被提高到3次方。在数学中,我们经常看到这个表达式被写为53,实际上是5乘以自身3次。在Python中,通过运行5 ** 35 * 5 * 5,我们将得到相同的结果125

让我们看一个带有变量的例子:

s = 52.25
t = 7

print(s ** t)
1063173305051.292

将浮点数52.25提高到7次方通过**运算符得到了一个大的浮点数值。

运算符优先级

在Python中,与数学一样,我们需要牢记运算符将按照优先级的顺序进行评估,而不是从左到右或从右到左。如果我们看看以下表达式:

u = 10 + 10 * 5

我们可能会从左到右阅读它,但请记住,首先将执行乘法,因此如果我们调用print(u),我们将得到以下值:

60

这是因为10 * 5等于50,然后我们加上10得到最终结果60

如果相反,我们想要将值10添加到10,然后将该总和乘以5,我们可以使用括号,就像我们在数学中使用括号一样:

u = (10 + 10) * 5
print(u)
100

通过使用括号,我们可以明确指定先执行加法,然后将总和乘以5

一个记住运算顺序的方法是使用缩写 PEMDAS

顺序字母代表
1PParentheses(括号)
2EExponent(指数)
3MMultiplication(乘法)
4DDivision(除法)
5AAddition(加法)
6SSubtraction(减法)

你可能熟悉另一种关于运算顺序的缩写,比如 BEDMASBODMAS。无论哪个缩写对您来说更好,都要在Python中执行数学运算时牢记,以便返回您期望的结果。

赋值运算符

最常见的赋值运算符是你已经使用过的:等号 ==赋值运算符将右侧的值分配给左侧的变量。例如,v = 23将整数23的值分配给变量v

在编程中,通常会使用复合赋值运算符,在变量的值上执行操作,然后将结果新值分配给该变量。这些复合运算符将算术运算符与=运算符结合在一起,因此对于加法,我们将+=结合使用,得到复合运算符+=。让我们看看它是如何工作的:

w = 5
w += 1
print(w)
6

首先,我们将变量w设置为值5,然后使用+=复合赋值运算符将右侧的数字添加到左侧变量的值,然后将结果分配给w

for循环的情况下,复合赋值运算符经常用于当您想要多次重复一个过程时:

for x in range (0, 7):
    x *= 2
    print(x)
0
2
4
6
8
10
12

使用for循环,我们能够自动执行*=运算符,将变量w乘以数字2,然后将结果分配给变量w以进行for循环的下一次迭代。

Python为本教程中讨论的每个算术运算符都有一个复合赋值运算符:

y += 1          # 加法后再分配值

y -= 1          # 减法后再分配值

y *= 2          # 乘法后再分配值

y /= 3          # 除法后再分配值

y // = 5        # floor除法后再分配值

y **= 2         # 增加到幂次方后再分配值

y %= 3          # 返回余数后再分配值

当需要逐步递增或递减事物,或者当需要在程序中自动执行某些过程时,复合赋值运算符非常有用。

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