打开课程目录
Module 1预计 60 分钟

变量与基本数据

让程序记住名字、数字和真假状态

学习目标

理解变量如何保存和更新数据,能够写出清楚有效的变量名,区分数字、字符串和布尔值,并使用 type() 检查数据类型。

开始之前

上一课中,print() 显示了写在引号里的文字。在 Python 中,这种文字叫作字符串,英文全称是 String,Python 用较短的类型名称 str 表示它。本课会把字符串和数字等数据保存起来,供程序之后使用。

变量的英文是 variable,意思是一个值可以变化的名字。Python 用变量给数据加上标签;看到变量名时,程序会取出这个名字当前对应的值。

概念 01

先区分数字和字符串

程序必须知道一个值是用来计算的数字,还是用来表达文字的字符串,才能决定可以对它做什么。

String(字符串)表示文字,Python 的类型名称是 str,是 string 的缩写。字符串必须放在成对引号中,例如 "Python";代码 print("Python") 会显示这段文字。

Integer(整数)表示没有小数部分的数,Python 的类型名称是 int,是 integer 的缩写。例如 6 是 int,代码 print(6) 会显示整数 6。

Floating-point number(浮点数)用来表示带小数部分的数,Python 的类型名称是 float。例如 2.5 是 float,代码 print(2.5) 会显示 2.5。这里先把 float 简单理解为“小数类型”。

字符串也可以包含数字字符,例如 "6",但它仍然是 str 文字。初学时最稳妥的判断方法是:有引号的 "6" 是字符串,没有引号的 6 是整数。

  • String / str:引号中的文字
  • Integer / int:没有小数部分的整数
  • Floating-point number / float:带小数部分的数
  • "6" 是 str,6 是 int

比较文字、整数和小数

三行注释标出了 Python 的类型名称。前两行看起来都显示 6,但第一行是 str,第二行是 int;只看输出外观不能确定数据类型。

Python
代码编辑器将在滚动到这里时加载
点击运行时准备 Python
TERMINAL程序输出

点击“运行”后,程序输出会显示在这里。

预期结果:6 / 6 / 2.5

概念 02

用清楚的变量名保存数据

当一个值会被重复使用或以后可能改变时,用清楚的变量名保存它,会比到处重复写同一个值更容易理解。

赋值的英文是 assignment,意思是把一个值交给变量保存。赋值语句由三部分组成:左边是变量名,中间是等号,右边是值。例如 score = 90,就是把整数 90 赋给变量 score。这里的等号不是数学中的“左右相等”。

变量名不能包含空格,也不能以数字开头。需要连接多个单词时,推荐使用小写字母和下划线,例如 student_name;这种写法英文叫 snake case,Python 代码中通常写成 snake_case(蛇形命名法)。

Python 区分大小写,所以 StudentName、studentname 和 student_name 是三个不同的名字。前两个可以运行,但容易造成风格不一致或不易阅读;本课程统一使用含义清楚的 snake_case。

  • 变量名在等号左边,值在右边
  • 不能有空格,也不能以数字开头
  • Python 区分大小写
  • 推荐使用有意义的 snake_case

用 snake_case 保存活动信息

student_name 用下划线连接两个单词,score_1 没有以数字开头。两行赋值只负责保存值,print() 才会产生输出。

Python
代码编辑器将在滚动到这里时加载
点击运行时准备 Python
TERMINAL程序输出

点击“运行”后,程序输出会显示在这里。

预期结果:Tom / 90

概念 03

Boolean 用来表示“是”或“否”

许多程序都需要记录一个状态,例如是否完成或开关是否打开。Boolean 正是为这种只有两种答案的情况设计的;以后学习条件判断时会真正用它选择执行路径。

Boolean(布尔值)表示只有“真”或“假”两种可能的状态。Python 的类型名称是 bool,是 Boolean 的简写;它只有两个值:True 表示真,False 表示假。

True 和 False 的首字母必须大写,而且不能加引号。例如 is_ready = True 会把一个 bool 状态保存到变量 is_ready。

"True" 带有引号,因此只是由四个字符组成的字符串;True 没有引号,才是真正的布尔值。这两者对程序来说完全不同。

  • Boolean / bool:只有 True 或 False
  • True 和 False 首字母大写
  • bool 值不加引号
  • 布尔值适合保存两种状态

记录学习状态

lesson_finished 和 needs_review 是变量;True 和 False 是 bool 值。变量名描述问题,Boolean 值保存“真”或“假”的答案。

Python
代码编辑器将在滚动到这里时加载
点击运行时准备 Python
TERMINAL程序输出

点击“运行”后,程序输出会显示在这里。

预期结果:True / False

概念 04

变量可以更新,type() 可以帮你检查

程序运行时,学习进度、分数或状态都会变化。重新赋值让变量保存新值,type() 则帮助你确认当前数据是什么类型。

同一个变量可以再次出现在等号左边。新的赋值会替换旧值;之后读取变量时,只会得到最新值。

type 是英文“类型、类别”的意思,Python 中写成 type()。把一个值或变量放进括号,例如 type(study_hours),Python 就会告诉你它当前的数据类型。

输出中的 str 来自 String,表示引号中的文字;int 来自 Integer,表示整数;float 来自 Floating-point number,表示带小数的数;bool 来自 Boolean,表示 True 或 False。

你会看到类似 <class 'int'> 的结果。class 的英文意思是“类别”;这里整行只是在告诉你这个值属于 int(整数)这一类,并不是要求你现在学习 class 语法。

  • 后一次赋值会替换旧值
  • type() 用来查看数据类型
  • str / int / float / bool 是四种基础类型名称

更新学习时长并检查类型

第一次输出旧值 2,重新赋值后输出新值 5。最后的 <class 'int'> 表示 study_hours 当前属于 int(整数)这一类。

Python
代码编辑器将在滚动到这里时加载
点击运行时准备 Python
TERMINAL程序输出

点击“运行”后,程序输出会显示在这里。

预期结果:2 / 5 / <class 'int'>

常见错误

这些写法为什么不工作

错误不是失败,而是 Python 告诉你“这部分我无法理解”。先找到差异,再一次只改一个问题。

变量名无效或风格混乱

student name 含有空格,1score 以数字开头,因此不能作为变量名。StudentName 和 studentname 虽然可以运行,但它们与 student_name 是不同变量,也不符合本课程推荐的清晰 snake_case 风格。

student name = "Tom"
1score = 90
StudentName = "Tom"
studentname = "Tom"
改成
student_name = "Tom"
score_1 = 90

忘记给文字加引号

没有引号时,Python 会把 Python 基础当作代码而不是一段文字,因而无法理解。字符串必须放在一对引号中。

course_name = Python 基础
改成
course_name = "Python 基础"

把布尔值写成小写

Python 区分大小写。true 不是 Python 的布尔值;正确写法是首字母大写的 True。

is_ready = true
改成
is_ready = True

把需要计算的数字放进引号

"3" 是字符串。虽然 print() 看起来仍然输出 3,但它不是可以直接参加算术计算的整数。

completed_lessons = "3"
改成
completed_lessons = 3

引导修改

观察变量如何从旧值变成新值

这不是正式练习。跟着步骤修改已有代码,观察每次改变如何影响程序。

  1. 1先运行代码:第一次 print() 会显示 weekly_hours 的旧值 4。
  2. 2在注释下方新增 weekly_hours = 6,再次运行,观察第二次输出为什么变成 6。
  3. 3保留 type(weekly_hours),确认更新后的值仍然属于 int(整数)类型。

完成后:依次看到 4、6 和 <class 'int'>。这说明重新赋值替换了旧值,但数据仍然是整数。

修改这段代码

先运行,再按左侧步骤逐项修改。你的草稿会保存在这个浏览器中。

Python
代码编辑器将在滚动到这里时加载
点击运行时准备 Python
TERMINAL程序输出

点击“运行”后,程序输出会显示在这里。

正式练习

现在独立完成 2 道练习

先运行代码观察问题,再点击“检查答案”。检查只关心题目要求的结果,不要求你照抄参考写法。

正式练习

记录天气变化

练习 1/2

从注释下方开始独立编写程序:创建 city_name,保存字符串“墨尔本”;创建 temperature,保存整数 18;创建 is_raining,保存布尔值 True。依次输出这三个变量。然后把 temperature 重新赋值为 21,再输出它的新值,最后用 type() 输出 temperature 的类型。输出必须正好是五行:墨尔本、18、True、21、<class 'int'>。

9 分钟难度 2/3编写代码
代码编辑器将在滚动到这里时加载
TERMINAL程序输出

点击“运行”后,程序输出会显示在这里。

需要一点提示?

先自己尝试一次;卡住时再逐级打开提示。

本课总结

本课小结

  • 1变量用名字保存值;变量名不能包含空格或以数字开头,推荐使用含义清楚的 snake_case。
  • 2Python 区分大小写,重新赋值会更新这个名字所对应的值。
  • 3数字用于计算,字符串表示文字,Boolean 用 True 和 False 表示两种状态。
  • 4不确定数据类型时,使用 type() 检查,而不是凭输出的外观猜测。