5.2 赋值运算符
5.2.1 赋值运算执行顺序:右→左
赋值运算符用等号表示=
执行顺序从右到左
5.2.2 直接赋值
【体验代码】
# 定义一个变量a
a = 2+3
# 查看a
a
【终端输出】
5
赋值运算符的执行顺序是从右到左
因此,上述代码中先计算右侧的加法2+3
右侧计算完得到结果5
后给变量a 赋值
因此a = 5
5.2.3 链式赋值
【体验代码】
# 用链式赋值定义3个变量
a = b = c = 10
# 查看3个变量的值
print(a)
print(b)
print(c)
【终端输出】
10
10
10
像a = b = c = 10 这样的赋值方式我们称之为链式赋值。
赋值运算符的执行顺序是从右到左。
上述代码中的变量abc 的值都是10。
赋值过程是还是按照从右到左的顺序,先给C 变量赋值,然后依次给b a 赋值。
# 定义一个列表
list_1 = [1,2,3,4]
# 用链式赋值定义列表list_2
list_2 = list_1
# 查看2个列表的值
print(list_1)
print(list_2)
【终端输出】
[1, 2, 3, 4]
[1, 2, 3, 4]
5.2.4 参数赋值
参数赋值共有6类:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KGYkVhad-1645450876069)(…/img/3_参数赋值.png)]
【体验代码】
# 定义两个变量
a = 2
b = 5
# 采用参数赋值法重新给a赋值
a += b
# 查看变量a 的值
a
【终端输出】
7
+=
加法赋值,表示:先加后赋值。
先加表示先计算a+b
。
后赋值意思是把加的结果
赋值给a。
a += b 就相当于 a = a+b = 2+5= 7。
因此a最后的值为7。
# 定义两个变量
a = 2
b = 5
# 采用参数赋值法重新给a赋值
a -= b
# 查看变量a 的值
a
【终端输出】
-3
-=
减法赋值,表示:先减后赋值。
先减表示先计算a-b
。
后赋值意思是把减的结果
赋值给a。
a -= b 就相当于 a = a-b = 2-5= -3。
因此a最后的值为-3。
# 定义两个变量
a = 2
b = 5
# 采用参数赋值法重新给a赋值
a *= b
# 查看变量a 的值
a
【终端输出】
10
*=
乘法赋值,表示:先乘后赋值。
先乘表示先计算a*b
。
后赋值意思是把乘的结果
赋值给a。a *= b
就相当于 a = a*b = 2*5
= 10。
因此a最后的值为10。
# 定义两个变量
a = 2
b = 5
# 采用参数赋值法重新给a赋值
a /= b
# 查看变量a 的值
a
【终端输出】
0.4
/=
除法赋值,表示:先除后赋值。
先除表示先计算a/b
。
后赋值意思是把除的结果
赋值给a。a /= b
就相当于 a = a/b = 2/5
= 0.4。
因此a最后的值为0.4。
# 定义两个变量
a = 2
b = 5
# 采用参数赋值法重新给a赋值
a //= b
# 查看变量a 的值
a
【终端输出】
0
//=
整除法赋值,表示:先整除后赋值。
先整除表示先计算a//b
。
后赋值意思是把整除的结果
赋值给a。a //= b
就相当于 a = a//b = 2//5
= 0。
2//5,商为0余数为2。
因此a最后的值为0。
# 定义两个变量
a = 2
b = 5
# 采用参数赋值法重新给a赋值
a %= b
# 查看变量a 的值
a
【终端输出】
2
%=
取余法赋值,表示:先取余后赋值。
先取余表示先计算a%b
。
后赋值意思是把取余的结果
赋值给a。a %= b
就相当于 a = a%b = 2%5
= 2。
2%5,商为0余数为2。
因此a最后的值为2。
5.2.5 系列包赋值
【体验代码】
# 定义3个变量
a,b,c = 10,20,30
# 查看3个变量的值
print(a)
print(b)
print(c)
【终端输出】
10
20
30
a,b,c = 10,20,30的意思是将10赋值给变量a,将20赋值给变量b,将30赋值给变量c。
像a,b,c = 10,20,30这样一次性定义多个变量,就称为系列包赋值。
系列包赋值注意等号左侧的个数和等号右侧的个数要相同,值要一一对应。
# 定义3个变量
a,b,c = '白敬亭','男','1993年'
# 查看3个变量的值
print(a)
print(b)
print(c)
【终端输出】
白敬亭
男
1993年
交换两个变量的值
# 定义2个变量
a,b = 10,200
# 查看变量交换前的值
print('交换之前:',a,b)
# 交换两个变量的值
a,b = b,a
# 查看变量交换后的值
print('交换之后:',a,b)
【终端输出】
交换之前: 10 200
交换之后: 200 10
5.2.6 总结