Python系列(11)—— 赋值运算符

简介: Python系列(11)—— 赋值运算符

在Python编程中,赋值运算符用于将右侧的值赋给左侧的变量。Python提供了多种赋值运算符,它们允许我们在赋值的同时执行一些基本的数学运算。这些赋值运算符包括+=-=*=/=%=**=//=等。

1. 基本赋值运算符(=

最基本的赋值运算符是=,它直接将右侧的值赋给左侧的变量。

# 使用基本赋值运算符
x = 10
print(x)  # 输出: 10

2. 加法赋值运算符(+=

+=运算符将右侧的值加到左侧的变量上,并将结果赋给左侧的变量。

# 使用加法赋值运算符
x = 5
x += 3  # 等价于 x = x + 3
print(x)  # 输出: 8

3. 减法赋值运算符(-=

-=运算符从左侧的变量中减去右侧的值,并将结果赋给左侧的变量。

# 使用减法赋值运算符
x = 10
x -= 4  # 等价于 x = x - 4
print(x)  # 输出: 6

4. 乘法赋值运算符(*=

*=运算符将左侧的变量乘以右侧的值,并将结果赋给左侧的变量。

# 使用乘法赋值运算符
x = 2
x *= 3  # 等价于 x = x * 3
print(x)  # 输出: 6

5. 除法赋值运算符(/=

/=运算符将左侧的变量除以右侧的值,并将结果赋给左侧的变量。

# 使用除法赋值运算符
x = 10
x /= 2  # 等价于 x = x / 2
print(x)  # 输出: 5.0

6. 取模赋值运算符(%=

%=运算符计算左侧的变量除以右侧值的余数,并将结果赋给左侧的变量。

# 使用取模赋值运算符
x = 10
x %= 3  # 等价于 x = x % 3
print(x)  # 输出: 1

7. 幂赋值运算符(**=

**=运算符将左侧的变量提高到右侧值的幂,并将结果赋给左侧的变量。

# 使用幂赋值运算符
x = 2
x **= 3  # 等价于 x = x ** 3
print(x)  # 输出: 8

8. 地板除赋值运算符(//=

//=运算符执行整数除法,将左侧的变量除以右侧的值并向下取整,然后将结果赋给左侧的变量。

# 使用地板除赋值运算符
x = 10
x //= 3  # 等价于 x = x // 3
print(x)  # 输出: 3

这些赋值运算符提供了一种简洁的方式来更新变量的值,而无需每次都写出完整的赋值语句。它们特别适用于在循环或条件语句中连续更新变量值的情况。

在循环中使用赋值运算符:

# 使用赋值运算符在循环中
total = 0
for i in range(1, 6):
    total += i  # 等价于 total = total + i
print(total)  # 输出: 15

在这个例子中,我们使用了+=赋值运算符来累加range(1, 6)中的数字,并将结果存储在total变量中。

9. 链式赋值

链式赋值允许你一次性给多个变量赋相同的值。

# 链式赋值
a = b = c = 10
print(a)  # 输出: 10
print(b)  # 输出: 10
print(c)  # 输出: 10

10. 多重赋值

多重赋值允许你一次性给多个变量赋不同的值。

# 多重赋值
x, y, z = 1, 2, 3
print(x)  # 输出: 1
print(y)  # 输出: 2
print(z)  # 输出: 3

11. 增量赋值与赋值表达式

从Python 3.8开始,引入了“海象运算符”(walrus operator):=,这是一个赋值表达式运算符,允许在表达式中进行赋值,并返回赋值的值。

# 使用海象运算符
value := 10  # 这是一个赋值表达式,value被赋值为10,表达式的结果是10
print(value)  # 输出: 10
# 在循环中使用海象运算符
while (n := input("Enter a number (or 'q' to quit):")) != 'q':
    print(f"You entered: {n}")

在上面的循环中,n := input(...) 是一个赋值表达式,它将input函数的结果赋给n,并且这个赋值表达式的结果是n的值,可以直接用于while条件判断。

12. 解构赋值

解构赋值是一种更高级的赋值方式,它允许你从数据结构(如列表、元组、字典、集合等)中解包值,并将它们赋给多个变量。

# 从列表中解构赋值
first, second, *rest = [1, 2, 3, 4, 5]
print(first)  # 输出: 1
print(second)  # 输出: 2
print(rest)  # 输出: [3, 4, 5]
# 从字典中解构赋值
person = {'name': 'Alice', 'age': 30}
name, age = person['name'], person['age']
print(name)  # 输出: Alice
print(age)  # 输出: 30

解构赋值可以简化代码,并且使代码更易于阅读和理解。

示例:使用链式赋值和多重赋值

下面是一个使用链式赋值和多重赋值的例子,演示如何在函数返回多个值时同时给多个变量赋值。

# 定义一个返回多个值的函数
def get_values():
    return 10, 20, 30
# 使用链式赋值和多重赋值接收函数返回的值
a, b, c = get_values()
print(a)  # 输出: 10
print(b)  # 输出: 20
print(c)  # 输出: 30

在这个例子中,get_values函数返回了一个包含三个值的元组,我们通过多重赋值将这三个值分别赋给了abc三个变量。

总结

Python的赋值运算符提供了一种强大而灵活的方式来更新变量的值。通过结合使用基本的赋值运算符、链式赋值、多重赋值、增量赋值以及解构赋值,你可以编写出更加简洁、高效和易读的代码。同时,新引入的海象运算符也为赋值操作提供了更多的可能性。

目录
打赏
0
0
0
0
53
分享
相关文章
Python入门:4.Python中的运算符
Python是一间强大而且便捷的编程语言,支持多种类型的运算符。在Python中,运算符被分为算术运算符、赋值运算符、复合赋值运算符、比较运算符和逻辑运算符等。本文将从基础到进阶进行分析,并通过一个综合案例展示其实际应用。
|
4月前
|
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
63 14
|
3月前
|
[oeasy]python056_python中下划线是什么意思_underscore_理解_声明与赋值_改名字
在Python中,下划线有多种用途。单下划线(_)常用于避免命名冲突,如将`max`改为`max_`以保留内置函数功能。双下划线(__var__)通常用于特殊方法和属性,如`__name__`、`__doc__`等。此外,单下划线(_)在交互式解释器中表示上一次表达式的值,但不建议作为普通变量名使用。总结:下划线用于避免命名冲突及特殊标识。
43 1
|
4月前
|
[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。
47 5
[oeasy]python045_[词根溯源]赋值_assignment_usage_使用
本文回顾了上一次讲解的内容,重点讨论了变量的概念及其在各种系统和游戏中的应用。文章详细解释了变量的声明与赋值操作,强调了赋值即为将具体值存储到变量名下的过程。同时,通过例子说明了字面量(如数字0)不能被赋值给其他值的原因。此外,还探讨了“赋值”一词的来源及其英文表达“assignment”的含义,并简要介绍了与之相关的英语词汇,如sign、assign、signal等。最后,总结了本次课程的核心内容,即赋值操作的定义和实现方式。
49 3
|
5月前
|
Python运算符优先级
Python运算符优先级。
42 2
|
5月前
|
Python成员运算符
Python成员运算符
50 2
|
5月前
|
Python赋值运算符
Python赋值运算符。
41 2
|
5月前
|
Python比较运算符
Python比较运算符。
60 2
|
5月前
|
Python身份运算符
Python身份运算符。
45 1

热门文章

最新文章