资讯动态

Python变量入门课:从赋值到命名,零基础也能轻松掌握

发布时间:2026/9/23 5:08:12 来源:尧图企业网站定制
第 1 课学会了让电脑开口说话调用print()就能把想说的内容显示在屏幕上。但从第 2 课开始很多孩子会第一次遇到一个抽象概念怎么让电脑“记住”一个东西。这堂课讲的变量就是编程里从“让电脑按顺序做事”跨到“让电脑管理信息”的一道关键门槛也是后面学循环、学判断、学函数时绕不开的地基。这篇文章写给三拨人正在备课的信息科技老师、想在家辅导孩子的家长以及刚刚跟着教程写完第一个print()、准备往前再走一步的零基础小朋友。我会把变量的原理、语法、命名规则、常见报错、课堂流程全部拆开来讲每段都配上可以直接照做的例子。我一直觉得少儿编程课最难的不是教语法而是把一个肉眼看不见的抽象概念翻译成孩子能摸得着的生活经验。变量恰好是最典型的例子——它看不见摸不着却无处不在。下面直接进入正题看看这节“变量的秘密”到底该怎么讲、怎么练、怎么避坑。1. 为什么电脑需要“记住”东西从生活场景讲起1.1 孩子眼里的“记忆”和电脑的“记忆”先问孩子一个问题你记住一个朋友的电话号码靠的是什么靠的是“名字”和“号码”的对应关系——你喊出“小明”脑子里就自动浮现出那串数字。电脑里的变量干的就是同一件事给一份数据起一个名字之后只要提起这个名字电脑就知道你要用那份数据。这个类比我每节课都会用而且效果一直很好。因为孩子天然理解“名字”的作用名字短、好记、一说出来大家就知道指的是谁。变量也一样score 95这行代码读作“把 95 这个数记到 score 这个名字下面”后面代码里只要写score电脑就知道你在说的是 95。在正式上机之前我建议先做一个小游戏老师报一个词比如“苹果”让孩子齐声喊出它的颜色“红色”再报“天空”孩子喊“蓝色”。然后把角色互换老师说颜色孩子猜词。玩过两轮之后告诉孩子变量就像是给数据起外号外号不唯一也不固定关键是你和别人都认同“这个外号指的是谁”。这和编程里“给某个值起个变量名”的机制一模一样孩子在游戏里体验到了再回到代码里就不会觉得突兀。1.2 没有变量时程序会变得多麻烦带少儿编程时孩子经常会问“我直接把数字写在代码里不就行了为什么要多写一个名字”这个问题问得好千万别敷衍。我一直用“全班统一换班服”来打比方假设班主任下周一要求全班穿红色衣服通知里如果写“请穿红色”那改一次通知就够了如果通知里把每个同学的每件衣服都单独写一遍比如“张三穿红色上衣李四穿红色上衣……”一旦改成蓝色就得把所有名字全改一遍。代码里也一模一样。假设程序里要反复使用某个商品价格如果不用变量print(苹果单价, 8) print(买了3斤共, 8 * 3, 元) print(又买2斤共, 8 * 2, 元)今天价格 8 元明天涨到 9 元你得把所有写8的地方都找出来改。但如果用变量price 8 print(苹果单价, price) print(买了3斤共, price * 3, 元) print(又买2斤共, price * 2, 元)以后改价只改第一行price 8这一处就行后面全部自动跟着变。这就是变量存在的核心意义一处定义、处处使用、一键修改。孩子一旦亲身体会到“改一处就全改”的爽快感就再也不会问“为什么要多此一举”了。2. 变量的第一个程序赋值语句的真相2.1 一行代码创建一个变量在 Python 里创建一个变量只需要一行赋值语句。在 IDLE 或在线编辑器里敲入下面代码按 F5 运行score 95 print(score)屏幕上会显示 95。注意print(score)打印的是变量score里存的值不是字母s c o r e本身。这个区别要反复强调因为孩子刚开始很容易把“变量名”和“变量值”搞混后面学了字符串之后更是如此。我上课时会拿一张便签纸做演示先写一个“95”贴在白板上再拿另一张便签写上“score”盖在上面然后告诉孩子——现在白板上的东西名字叫 score内容是 95。print(score)就像老师喊“score 是谁”孩子会回答“95 在这里”。这个过程非常直观强烈推荐每位老师或家长都试一下比空讲概念有效十倍。2.2 等号不是“等于”而是“放进去”很多孩子在数学课上学过“”表示两边相等到了编程里这个符号的含义变了他们会非常困惑。必须明确告诉他们Python 里的 不是等于号而是赋值号意思是“把右边的值放进左边的名字里”。score 95这句的读法是“把 95 这个值赋给变量 score”不是“score 等于 95”。区别在哪里看下面这段score 95 score 80 print(score)结果是 80不是 95。如果“”是数学上的等于那score 95和score 80同时成立就是矛盾。但赋值就很好理解变量名 score 这个“标签”原本贴在 95 上现在撕下来贴到 80 上了所以最后打印的是 80。这个“贴标签”的理解方式非常关键。我甚至建议在孩子完全掌握之前不要引入“盒子”的比喻。市面上的教程很喜欢说“变量是装数据的盒子”但盒子的比喻会让孩子误以为变量能“装住”数据、数据是实体后面学到列表和引用时反而会绕弯子。对 712 岁的孩子标签比喻更准确变量名是一张可以随时撕下来换位置的标签数据本身不搬家变的只是标签指向谁。2.3 先动手把第一段变量代码跑起来上机实操时我推荐让孩子按下面三步走每一步都明确告诉他们屏幕上会出现什么打开 Python 的 IDLE新建一个文件保存为variable1.py。输入两行代码nickname 小派 print(nickname)保存并运行屏幕显示小派第一次跑通之后再让孩子把nickname 小派里的内容改成自己的名字重新运行一次。这一步非常小但能让孩子立刻感受到“变量的值是可以被替换的”。紧接着问一句“如果我想让程序里 10 个地方都显示我的名字我只需要改哪里”孩子会自然答出“只需要改第一行”变量的价值就体会到了。3. 变量名怎么起规则、习惯和必踩的坑3.1 三条硬规则一条都不能违反很多孩子第一次自己起变量名时会用中文、数字开头甚至直接把if当变量名结果一运行就报错。Python 对变量名有三条硬性规定最好一开始就背下来变量名只能由字母、数字、下划线_组成不能用空格、减号、、#这些符号。变量名不能以数字开头。1score非法但score1合法。变量名不能是 Python 的关键字比如if、for、while、print这些都有特殊含义不能拿来当变量名。前两条其实是大多数编程语言的通用规则第三条 Python 也和其他语言差不多。我教孩子的记忆口诀是“字母数字下划线数字不能来开头关键字里不能留。”3.2 两个好习惯有意义 小写加下划线规则是“必须遵守”习惯则决定代码好不好读。我见过不少孩子为了省事给变量起名叫a、b、c代码短的时候没问题一旦代码超过 20 行连他自己都记不清a到底是名字还是年龄。所以从第一课起就要培养两个习惯第一变量名要有意义让人一看就知道装的是什么。比如存年龄就用age存分数就用score存玩家血量就用player_life而不是随手一个x。第二多个单词组成的名字用下划线连接全部小写这种风格叫 snake_case。比如student_name、total_score、my_pet_age。Python 官方的命名规范就是这种风格从小养成习惯以后写项目、看别人的代码都会顺畅很多。那中文能不能当变量名Python 3 其实允许比如年龄 10也能运行。但我建议不要让孩子用一是大多数开源代码和工具链都是英文二是以后转到其他语言会不习惯三是英文命名顺便还能练单词拼写一举多得。所以课堂上我会明确约定“我们写代码变量名只用小写英文和下划线。”3.3 少儿最常犯的三个错误附误写对照刚接触变量的一两节课里几乎每个孩子都会踩到下面几个坑提前讲明白能省下大量排错时间。我把常见错误、错误例子、正确写法整理成一张表上课直接投到屏幕上就行错误类型错误例子正确写法报错信息变量名拼写不一致name 小明然后print(nmae)统一写nameNameError: name nmae is not defined数字开头1score 95score1 95或score 95SyntaxError: invalid syntax使用关键字if 10if_count 10SyntaxError: invalid syntax变量名带空格my score 95my_score 95SyntaxError: invalid syntax拼写不一致是出现频率最高的问题没有之一。孩子打字慢、容易漏字母而且自己写完再看往往看不出来。应对方法有两个一是在写变量名时养成“复制粘贴”的习惯先定义一次后面用到时用 Tab 补全IDLE 里按 Tab 可以自动补全变量名二是真报错了先盯着“变量名”找不要急着改别的。4. 变量要“变”才有用重新赋值与计数器4.1 同一个变量可以反复改值变量之所以叫“变”量核心在于它的值可以改变。这个点很多老师会一笔带过但对孩子来说恰恰是需要专门练的。上机时让孩子运行下面这段age 8 print(age) age 9 print(age) age age 1 print(age)输出是 8、9、10。运行之前先让孩子猜一猜结果运行之后再逐行解释第一行给 age 赋值为 8第三行把 age 覆盖为 9第五行先算出 age 1 等于 10再拿 10 覆盖原来的值。孩子一旦理解了“变量名像个标签随时可以贴到新值上”很多后续难点都会迎刃而解。这里又可以玩一个“老狼老狼几点了”的游戏让time变量依次变成 1 点、2 点、3 点每变一次就打印一次。孩子一边喊时间一边看到屏幕更新对“变量值被更新”这件事的感受会非常深。4.2 计数器 x x 1数学上的“矛盾”怎么解释几乎所有孩子第一次看到x x 1都会愣住数学课上不是说等号两边要相等吗x 怎么可能等于 x 1这个问题必须正面回答不能含糊。解释方法很简单先算右边再把结果装进左边。x x 1不是数学方程式而是一条“指令”它告诉电脑分两步走——第一步取出 x 当前的值加上 1算出新结果第二步把新结果重新赋给 x。比如 x 本来是 0执行完这条语句后x 就变成 1 了。这个“先算右边、再赋左边”的规则我建议用下面的小例子反复练coin 0 print(开始金币数, coin) coin coin 1 print(捡到1枚金币, coin) coin coin 1 print(又捡到1枚金币, coin) coin coin 2 print(再捡到2枚金币, coin)输出依次是 0、1、2、4。这个练习几乎每个孩子都能秒懂因为它有明确的场景——角色捡金币金币数越来越多。后面还会学更简写的coin 1但第一堂课先用完整写法让孩子看清“取出、计算、放回”的全过程。4.3 交换两个变量的值借杯倒水小魔术提交换变量孩子第一次接触会有点绕但这也是“标签模型”最好的检验题。先看问题有两个变量a 苹果b 梨现在想让 a 变成“梨”b 变成“苹果”该怎么办如果不假思索地写a b b a结果是 a 和 b 都变成了“梨”。因为执行a b时a 的标签先贴到了“梨”上“苹果”就找不到了。正确做法是引入第三个临时变量a 苹果 b 梨 temp a a b b temp print(a, b)生活类比是两杯饮料互换想把橙汁倒进空可乐瓶、可乐倒进空橙汁瓶必须先找个空杯子。学到这里算是对变量本质的第一次完整检验孩子能准确说出每一步执行后哪个标签贴到了哪个值上就说明他真的理解了。5. 数字和文字变量里装的两类数据5.1 用 type() 看看变量到底装的是什么Python 的变量本身不固定类型同一个名字可以先存数字、再存文字这既是优点也是坑。课堂上我先带孩子认识两种最常见的类型整数和字符串。number 2025 word hello print(type(number)) print(type(word))运行结果是class int和class str。type()这个函数就像一台“检测仪”把变量送进去它就能告诉你里面装的是数字还是文字。孩子对这个命令很着迷经常会到处乱试比如type(123)和type(123)发现引号能让数字变文字这个发现本身就是最好的学习。5.2 字符串和数字不能乱混都是 5但 5 和 “5” 不一样孩子最容易犯的一个错误是用把字符串和数字拼在一起。看下面这段num 5 text 5 print(num num) # 结果是 10 print(text text) # 结果是 55同样是“5”不带引号的是数字能计算带引号的是文字文字和文字放在一起就是“接龙”。这个对比实验我建议每个孩子都亲手跑一遍比讲一百遍理论都管用。孩子会非常惊讶原来引号有这么大的魔力再往后如果遇上input()输入函数就更要提醒input()输入进来的一切内容Python 都当作字符串来存。也就是说哪怕你在对话框里输入的是数字 10存进变量后也是“10”这个文字不能直接拿来算数。age input(请输入你的年龄) print(age 1)这段代码会报错TypeError: can only concatenate str (not int) to str。正确的做法是用int()把文字转换成数字age int(input(请输入你的年龄)) print(age 1)int()就像一台“翻译机”把输入的“10”翻译成真正可以计算的 10。这个知识点在第 3 课、第 4 课出现频率极高提前在这里埋下伏笔后面会顺畅很多。5.3 综合小练习用变量做一张“自我介绍名片”学完上面这些可以做一个融合练习让孩子把变量真正用起来。目标用代码生成一张自己的信息卡片。name 小派 age 9 height 1.35 hobby 拼乐高 print(大家好我叫 name) print(我今年 str(age) 岁) print(我的身高是 str(height) 米) print(我最喜欢 hobby)这里有一个必须处理的问题age和height是数字不能直接用和字符串拼接所以要先用str()把数字转成文字才能顺利接龙。str()也是一个“翻译机”和int()恰好相反它把数字翻译成文字。如果班里孩子接受能力强还可以升级用 f-string代码会清爽很多也让后面的课更好衔接name 小派 age 9 height 1.35 hobby 拼乐高 print(f大家好我叫{name}今年{age}岁身高{height}米最喜欢{hobby}。)f-string 的写法是在字符串前面加一个f想嵌入变量的位置用{变量名}包起来。孩子的接受度普遍很高因为它直观花括号里写哪个变量就显示哪个变量的值完全不用纠结类型转换。这个练习跑通后第二课的核心知识点就全部串起来了。6. 课堂排错实战孩子最容易碰到的三个报错孩子写代码报错太正常了关键是老师自己要知道错在哪、怎么用孩子听得懂的话解释。我总结了三类最高频的报错每节课都会带着孩子过一遍。6.1 NameError变量名没对上报错长这样NameError: name nmae is not defined翻译给孩子听就是电脑在它的记忆里找不到一个叫 nmae 的名字。最常见的原因是拼写不一致定义时写的是name用的时候打成了nmae。遇到这个报错先让孩子大声把这个变量名念三遍再让他回上一行找基本都能自己发现。这个“念三遍”的方法看起来很土但对打字不熟练的小学生特别有效——眼睛看不出来的时候嘴巴能读出来。6.2 SyntaxError拼写之外的语法问题SyntaxError: invalid syntax看到 invalid syntax意思就是“这句话语法不对我没法理解”。对孩子来说最常见的原因有三个字符串的引号没写全比如print(hello)引号一单一双。用了中文输入法里的引号、逗号、括号Python 只认英文字符。变量名以数字开头比如1score 95。第三个原因和孩子分享一个细节Python 会把数字开头当成“这是一个数字”后面又跟着字母它就彻底懵了。所以看到SyntaxError第一步先检查符号是不是英文的第二步再看有没有数字开头的名字。6.3 TypeError不同类型不能硬拼TypeError: can only concatenate str (not int) to str这个报错信息对小学生来说很长很可怕但它表达的意思很简单你想把文字和数字拼在一起但 Python 不允许这样直接拼。解决办法有两个一是用str()把数字转成文字二是用 f-string 直接嵌入变量。我上课时会让孩子记住一句话“文字和数字不能直接做加法先翻译再拼接。”6.4 排错基本功print 大法最后一定要教孩子一个终身受用的排错技巧——在关键位置加print()把变量当前的值“打”出来。比如程序算错了但不知道哪里错的就每隔两行加一句coin 0 print(刚开始, coin) coin coin 1 print(第一次加完, coin) coin coin 3 print(第二次加完, coin)这样每步之后变量到底是多少全都显示在屏幕上孩子一眼就能看出哪一步的值不符合预期。我把这招叫“让电脑把心里话说出来”孩子特别喜欢这个说法遇到问题也会主动用。这个习惯如果能在第二课养成后面学循环、条件判断时排错会省太多力气。7. 一节 40 分钟的“变量课”我是这样安排的7.1 把课堂拆成四段每段都有产出我带过不少零基础班也帮很多家长做过家庭辅导总结下来一节课 40 分钟比较稳妥的分配是这样的时间段环节具体内容08 分钟生活引入名字标签游戏、全班统一换班服的故事引出“给数据起名字”815 分钟语法讲解用便签纸演示score 95讲清等号是“赋值”跑通第一个变量程序1530 分钟上机闯关完成 3 张小练习卡宠物名牌、金币计数器、自我介绍名片3040 分钟排错与分享集中展示 2 个典型报错让孩子互相找错、讲解自己的代码这套流程的核心思路是“先体验、再命名、后应用”。生活引入部分确保孩子脑子里有一个具体画面然后才给他对应的代码写法最后通过上机把知识内化。如果跳过体验直接讲语法孩子也能跟着敲但印象不深过两天就忘光了。7.2 三个可以直接复制的小练习卡练习卡 1给宠物起个响亮的名字让每个孩子定义一个宠物的名字、年龄和技能然后打印一句自我介绍。比如pet_name 多多 pet_age 2 pet_skill 握手 print(pet_name 今年 str(pet_age) 岁会 pet_skill)这个练习不涉及复杂逻辑重点让孩子体会定义变量、使用变量、拼接输出三个动作。练习卡 2糖果计数器candy 0 candy candy 3 candy candy 1 candy candy 5 print(我一共有 str(candy) 颗糖)跑完之后让孩子自己多写几行candy candy ...或者自己设定每次加几颗。这个练习专门巩固x x 1的“先算右边再赋左边”逻辑。练习卡 3升级版自我介绍名片在前面 5.3 小节的基础上每人做一张自己的信息卡片必须包含姓名、年龄、身高、爱好四项。做完之后互相展示比一比谁的卡片信息最完整、代码最简洁。这个练习综合了变量定义、类型转换、f-string是第二课的小结。7.3 给带娃家长的三个额外建议如果是在家辅导家长往往比老师更头疼因为不知道孩子卡在哪里、怎么讲才不暴躁。我的建议只有三条第一别急着补“类型”概念。第二课的重点是变量赋值和命名类型只要知道“带引号的是文字、不带引号的是数字”就够了。如果孩子问“为什么 1 1 和 1 1 不一样”你就让他看看type()的结果让他自己发现规律不要说“这是 int 和 str 的区别”这种抽象的话。第二多问“电脑现在记住的是几”。孩子写代码时家长不用急着判断对错而是不断追问这句话。比如他写完score score 10你问“现在 score 里是多少”他能答出来说明真懂了答不出来就让他加一行print(score)看看。这种提问方式能帮孩子建立“跟踪变量”的意识。第三允许孩子当小老师。每学一个新知识点让孩子把这段代码讲给你听哪怕讲得磕磕绊绊也没关系。讲的过程就是梳理逻辑的过程也是暴露漏洞最好的机会。我带过的班里凡是能让家长听懂的孩子掌握程度普遍比闷头刷题的孩子高一截。回到开头那句话变量的本质是“给数据起名字”。听起来很简单真正落地到课堂从生活经验到代码语法、从命名规则到报错排查每一步都需要设计。第二课把这几个环节走扎实了后面学到列表、循环、函数的时候孩子会轻松很多因为他已经习惯了“用名字管理数据”的思路。我个人带班还有一个体会最先真正理解变量的往往不是那些记忆力最好的孩子而是愿意把代码大声读出来的孩子。朗读score 95读作“把 95 赋给 score”读多了赋值的方向、变量的名字、值的位置全都牢牢刻在脑子里。所以不管你是老师还是家长陪孩子学变量时一定要鼓励他把每一行代码都念出来能读顺了基本就离学会不远了。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价