python赋值和交换的方法

Python中赋值通过=实现,支持链式赋值如x=y=z=0和多重赋值如name,age,city="Alice",25,"Beijing",可解包元组或列表;变量交换无需临时变量,只需a,b=b,a,原理是元组构建与解包,同样适用于多个变量轮换如a,b,c=c,a,b,使代码更简洁高效。

Python中的赋值和变量交换非常灵活,语法简洁直观。掌握这些基本操作能提升代码的可读性和效率。

基本赋值方法

Python中最常见的就是使用等号=进行赋值。可以将一个值、表达式的结果或另一个变量的值赋给变量。

示例:

  • a = 10:将整数10赋给变量a
  • b = a + 5:计算表达式并赋值
  • c = b:将b的值复制给c

也支持链式赋值,多个变量指向同一个值:

x = y = z = 0

这会把x、y、z都初始化为0。

多重赋值(解包赋值)

Python允许在一行中同时给多个变量赋值,常用于元组或列表的解包。

示例:

name, age, city = "Alice", 25, "Beijing"

只要右边的元素个数与左边变量一致即可。

常见用途包括:

  • 从函数返回多个值并接收:x, y = divmod(10, 3)
  • 遍历字典时同时获取键和值:for key, value in dict.items():

变量交换的简洁写法

Python最优雅的特性之一是无需临时变量即可交换两个变量的值。

传统语言通常需要临时变量:

# 其他语言常见做法
temp = a
a = b
b = temp

而在Python中,只需一行:

a, b = b, a

原理是先构建右侧的元组(b, a),然后解包赋值给左侧的a, b。

这种写法同样适用于多个变量轮换:

a, b, c = c, a, b

基本上就这些。Python用简洁的语法让赋值和交换变得直观高效,合理使用能写出更干净的代码。