赋值用1个等号=
表示。
在变量和赋值中我们讲过,赋值是指把右边的内容放到左边的容器里。
赋值符号=
不是左边等于右边的意思。仅仅表示赋值动作:把右边的内容放到了左边的容器里。
【重点提示】
赋值符号=
不是左边等于右边的意思。仅仅表示赋值动作:把右边的内容放到了左边的容器里。
在python中,代表左右两边相等的符号,是比较运算符==
。
初学者在编写比较运算的时候通常会错写为1个等号=
。
赋值运算执行顺序:从右边到左边。
赋值运算符用1个等号表示=
。
# 定义一个变量a
a = 2+3
# 查看a
print(a)
【终端输出】
5
赋值运算符的执行顺序是从右到左。
因此,上述代码中先计算右侧的加法2+3
。
将右侧计算完得到的结果5
赋值给变量a。
因此a = 5
。
# 用链式赋值定义3个变量
a = b = c = 10
# 查看3个变量的值
print(a)
print(b)
print(c)
【终端输出】
10
10
10
像a = b = c = 10 这样的赋值方式我们称之为链式赋值。
赋值运算符的执行顺序是从右到左。
上述代码中的变量abc 的值都是10。
赋值过程是还是按照从右到左的顺序,先给C 变量赋值,然后依次给b a 赋值。
参数赋值共有6类:
# 定义两个变量
a = 2
b = 5
# 采用参数赋值法重新给a赋值
a += b
# 查看变量a 的值
print(a)
【终端输出】
7
+=
加法赋值。
意思是先加后赋值。
先加表示先计算a+b
。
后赋值意思是把加的结果
赋值给a。
a += b 就相当于 a = a+b = 2+5= 7。
因此a最后的值为7。
a += b 就相当于 a = a+b
# 定义两个变量
a = 2
b = 5
# 采用参数赋值法重新给a赋值
a -= b
# 查看变量a 的值
print(a)
【终端输出】
-3
-=
减法赋值,表示:先减后赋值。
先减表示先计算a-b
。
后赋值意思是把减的结果
赋值给a。
a -= b 就相当于 a = a-b = 2-5= -3。
因此a最后的值为-3。
# 定义两个变量
a = 2
b = 5
# 采用参数赋值法重新给a赋值
a *= b
# 查看变量a 的值
print(a)
【终端输出】
10
*=
乘法赋值,表示:先乘后赋值。
先乘表示先计算a*b
。
后赋值意思是把乘的结果
赋值给a。
a *= b
就相当于 a = a*b = 2*5
= 10。
因此a最后的值为10。
# 定义两个变量
a = 2
b = 5
# 采用参数赋值法重新给a赋值
a /= b
# 查看变量a 的值
print(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的值
print(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 的值
print(a)
【终端输出】
2
%=
取余赋值,表示:先取余后赋值。
先取余表示先计算a%b
。
后赋值意思是把取余的结果
赋值给a。
a %= b
就相当于 a = a%b = 2%5
= 2。
2%5,商为0余数为2。
因此a最后的值为2。
在Python编写代码中,大家通常采用参数赋值法。这个知识点需要重点掌握。
# 定义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