☰
Python 链式赋值教程:一行代码给多个变量赋值(附答案)
2026/10/3 12:55:28 网站建设 项目流程

【Python案例】个人信息登记 —— 链式赋值与动态类型

案例需求

做“个人信息登记”程序时会碰到两件小事:登记表里有些栏目(比如“年级”“班级”)大家填的内容完全一样,没必要一格一格地填;同一个栏目,有时填的是数字,有时填的又变成文字。下面用两小段代码分别体验这两种情况。

  1. 用一行代码把100同时赋给a、b、c三个变量,并打印出来;
  2. 让变量x先保存整数10,再改存字符串"变量可以变身",最后改存浮点数3.14,每次都要打印变量x的值和它的数据类型。

案例实现

第 1 步:同时为变量a、b、c赋相同的值100,并把三个变量的值打印输出。
这里用的是链式赋值:把最右边的值依次赋给左边的各个变量(先给c,再给b,最后给a)。

a=b=c=100print("a, b, c =",a,b,c)

第 2 步:给变量x赋整数值10,然后打印x的值和数据类型。

x=10print("x =",x,type(x))

第 3 步:把变量x的值改成字符串"变量可以变身",再打印x的值和数据类型。注意:x这个名字没有变,变的只是它里面装的东西。

x="变量可以变身"print("x =",x,type(x))

第 4 步:把变量x的值再改成浮点数3.14,并打印x的值和数据类型。

x=3.14print("x =",x,type(x))

完整代码:

a=b=c=100print("a, b, c =",a,b,c)x=10print("x =",x,type(x))x="变量可以变身"print("x =",x,type(x))x=3.14print("x =",x,type(x))

运行结果:

a, b, c = 100 100 100 x = 10 <class 'int'> x = 变量可以变身 <class 'str'> x = 3.14 <class 'float'>

案例解析

  • 链式赋值:a = b = c = 100等价于a = 100、b = 100、c = 100,也就是用一条语句同时给多个变量赋上同一个值。三个变量一开始都等于100,之后给其中任意一个变量重新赋值,只是改变它自己的指向,另外两个变量的值不受影响。
  • 动态类型:Python 的变量不需要事先声明类型,同一个变量可以先后装不同类型的数据,变量是什么类型,由它当时装着的值决定。这是 Python 灵活、易上手的地方。
  • 注意可读性:虽然变量可以“变身”,但对读代码的人来说并不友好。编写程序时,最好让一个变量自始至终只装一种类型的数据。

相关练习

一、题目

1.(选择题)执行a = b = c = 5之后,变量b的值是( )。

  • A.0
  • B.5
  • C.None
  • D. 程序报错

2.(填空题)先执行x = 1,再执行x = "abc",此时type(x)的结果是______________。

3.(判断题)同一个变量在程序运行过程中只能装一种类型的数据。( )

4.(简答题)请用一行代码把数字100同时赋给变量n1、n2、n3。

二、参考答案与解析

1. 答案:B
解析:链式赋值会把最右边的值依次赋给左边的每一个变量,所以a、b、c都等于5。

2. 答案:<class 'str'>
解析:变量x最后一次被赋值为"abc",带引号的是字符串,所以type(x)的结果是<class 'str'>;只写类型名str也算正确。

3. 答案:错误(×)
解析:这句话说反了。Python 是动态类型语言,变量的类型跟着它当时装着的值走,随时可以改存其他类型的数据,所以“只能装一种类型”不成立。

4. 答案:

n1=n2=n3=100

解析:链式赋值,用一串等号把多个变量名串起来,最右边的100会被依次赋给左边的每一个变量。

声明:本文部分内容由人工智能辅助生成。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询