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

相关文章
|
18天前
|
Python 容器
[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。
27 5
|
26天前
|
存储 Python 容器
[oeasy]python045_[词根溯源]赋值_assignment_usage_使用
本文回顾了上一次讲解的内容,重点讨论了变量的概念及其在各种系统和游戏中的应用。文章详细解释了变量的声明与赋值操作,强调了赋值即为将具体值存储到变量名下的过程。同时,通过例子说明了字面量(如数字0)不能被赋值给其他值的原因。此外,还探讨了“赋值”一词的来源及其英文表达“assignment”的含义,并简要介绍了与之相关的英语词汇,如sign、assign、signal等。最后,总结了本次课程的核心内容,即赋值操作的定义和实现方式。
23 3
|
1月前
|
Python
Python运算符优先级
Python运算符优先级。
21 3
|
1月前
|
Python
Python成员运算符
Python成员运算符
27 2
|
1月前
|
Python
Python身份运算符
Python身份运算符。
22 1
|
1月前
|
Python
Python赋值运算符
Python赋值运算符。
23 2
|
1月前
|
Python
Python比较运算符
Python比较运算符。
27 2
|
2月前
|
Python
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
本篇将详细介绍Python中的运算符,包括数学运算、关系运算、逻辑运算、赋值运算和成员运算等内容。同时会说明运算符的优先级和运算顺序,帮助用户理解和掌握Python中的运算符使用规则。
41 3
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
|
2月前
|
自然语言处理 Python
【python从入门到精通】-- 第三战:输入输出 运算符
【python从入门到精通】-- 第三战:输入输出 运算符
72 0
【python从入门到精通】-- 第三战:输入输出 运算符
|
2月前
|
存储 Java 编译器
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
这篇文章是关于Python编程语言中变量命名规则、基本数据类型、算数运算符、比较运算符、逻辑运算符、赋值运算符以及格式化输出与输入的详细教程。
24 0
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
下一篇
DataWorks