python加法赋值运算演示_Python数值运算与赋值的快捷方式

本文介绍了Python中的运算符优先级及结合性,并通过实例展示了如何使用这些运算符来构建和计算表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一种比较常见的操作是对一个变量进行一项数学运算并将运算得出的结果返回给这个变量,因此对于这类运算通常有如下的快捷表达方式:

a = 2a = a * 3

同样也可写作:

a = 2a *= 3

要注意到 变量 = 变量 运算 表达式 会演变成 变量 运算 = 表达式。

求值顺序8

如果你有一个诸如 2 + 3 * 4 的表达式,是优先完成加法还是优先完成乘法呢?我们的高中数学知识会告诉我们应该先完成乘法。这意味着乘法运算符的优先级要高于加法运算符。

下面将给出 Python 中从最低优先级(最少绑定)到最高优先级(最多绑定)的优先级表。这意味着,在给定的表达式中,Python 将优先计算表中位列于后的较高优先级的运算符与表达式。

为了保持完整,下表是从Python教程 参考手册 中引用而来。你最好使用圆括号操作符来对运算符与操作数进行分组,以更加明确地指定优先级。这也能使得程序更加可读。你可以阅读改变运算顺序来了解更多的细节。

lambda:Lambda 表达式

if - else :条件表达式

or:布尔“或”

and:布尔“与”

not x:布尔“非”

in, not in, is, is not, , >=, !=, ==:比较,包括成员资格测试(Membership Tests)和身份测试(Identity Tests)。

|:按位或

^:按位异或

&:按位与

<>:移动

+, -:加与减

*, /, //, %:乘、除、整除、取余

+x, -x, ~x:正、负、按位取反

**:求幂

x[index], x[index:index], x(arguments...), x.attribute:下标、切片、调用、属性引用

(expressions...), [expressions...], {key: value...}, {expressions...}:表示绑定或元组、表示列表、表示字典、表示集合

我们还没有遇到的运算符将在后面的章节中加以解释。

在上表中位列同一行的运算符具有相同优先级。例如 + 和 - 就具有相同的优先级。

改变运算顺序

为了使表达式更加易读,我们可以使用括号。举个例子,2 + (3 4) 自是要比 2 + 3 4 要更加容易理解,因为后者还要求你要了解运算符的优先级。和其它的一切一样,使用括号同样也要适度(而不要过度),同时亦应不要像 (2 + (3 * 4)) 这般冗余。

使用括号还有一个额外的优点——它能帮助我们改变运算的顺序。同样举个例子,如果你希望在表达式中计算乘法之前应先计算加法,那么你可以将表达式写作 (2 + 3) * 4。

结合性9

运算符通常由左至右结合。这意味着具有相同优先级的运算符将从左至右的方式依次进行求值。如 2 + 3 + 4 将会以 (2 + 3) +4 的形式加以计算。

表达式

案例(将其保存为 expression.py):

length = 5breadth = 2area = length *breadthprint('Area is', area)print('Perimeter is', 2 * (length + breadth))

输出:

$ python expression.py

Areais 10Perimeter is 14

它是如何工作的

矩形的长度(Length)与宽度(Breadth)存储在以各自名称命名的变量中。我们使用它们并借助表达式来计算矩形的面积(Area)与周长(Perimeter)。我们将表达式 length breadth 的结果存储在变量 area 中并将其通过使用 print 函数打印出来。在第二种情况中,我们直接在 print 函数中使用了表达式 2 (length + breadth) 的值。

同时,你需要注意到 Python是如何漂亮地打印出 输出结果的。尽管我们没有特别在 Area is 和变量 area 之间指定空格,Python 会帮我们加上所以我们就能得到一个整洁的输出结果,同时程序也因为这样的处理方式而变得更加易读(因为我们不需要在用以输出的字符串中考虑空格问题)。这便是一个 Python 是如何让程序员的生活变得更加便捷美好的范例。

总结

我们已经了解了如何使用运算符、操作数与表达式——这些是我们构建任何程序的基本块。接下来,我们将看到如何在程序中善加利用这些语句。

### Python 赋值运算符及其应用 #### 单一赋值运算符 单一赋值运算符 `=` 是最基础的形式,用于将一个具体的数值赋予某个变量。这种操作简单明了,适用于初始化变量或更新其值。 ```python a = 10 b = "Hello" c = True ``` #### 复合赋值运算符 复合赋值运算符结合了算术或其他类型的运算赋值过程,在一行内完成计算并重新分配结果给左侧的操作数。以下是几种常见的复合赋值运算符: - **加法赋值 (`+=`)**:增加当前值后再赋回原变量。 ```python x = 5 x += 3 # 等价于 x = x + 3; 结果为8 ``` - **减法赋值 (`-=`)**:减少当前值后再次赋给该变量。 ```python y = 7 y -= 2 # 类似 y = y - 2; 得到的结果是5 ``` - **乘法赋值 (`*=`)**:将现有值相乘再存入同一位置。 ```python z = 4 z *= 6 # 这相当于 z = z * 6; 输出将是24 ``` - **除法赋值 (`/=`)**:执行浮点数除法并将商返回至初始变量处。 ```python m = 9 m /= 3 # 同 m = m / 3; 商为3.0 (注意这里会得到一个小数) ``` - **取模赋值 (`%=`)**:求余数之后覆盖原来的值。 ```python n = 10 n %= 4 # 和 n = n % 4 效果一样;最终余数为2 ``` - **整除赋值 (`//=`)**:做整数除法后替换旧有数据。 ```python p = 11 p //= 3 # 此举如同 p = p // 3; 取得的整数部分为3 ``` - **幂次方赋值 (`**=`)**:提升指数级别随后保存新值。 ```python q = 2 q **= 3 # 表达式 q = q ** 3 实现立方功能;答案为8 ``` 这些例子展示了如何利用各种赋值运算符简化代码逻辑的同时提高效率[^1]。 #### 链式赋值 链式赋值允许一次性向多个目标设置相同的值,这不仅提高了编程简洁度而且增强了可读性。 ```python first = second = third = 'same value' print(first, second, third) # 所有的三个变量都将打印出'same value' ``` 此特性使得当需要定义一组具有相同初值的对象变得非常方便[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值