欢迎来到数据类型(Data Types)的世界!

在本章中,我们将探索程序设计中最重要的基础之一:数据类型 (Data Types)
试着把电脑想象成一位井井有条的厨师。为了烹饪出一道佳肴(或是执行一个程序),厨师必须清楚自己正在使用什么食材。你不会想尝试把一加仑牛奶拿去煎,或者把牛排倒进玻璃杯里吧?同样地,电脑也需要知道数据是一个整数 (Whole number)小数 (Decimal) 还是一段文字 (Piece of text)。这能协助电脑在内存中预留适当的空间,并避免它犯下一些荒谬的错误!

如果起初觉得这些概念有点抽象,别担心!读完这些笔记后,你甚至在睡梦中都能一眼辨识出这些数据类型!

3.2.1 什么是数据类型?

数据类型基本上就是一个标签,告诉电脑数值属于哪种数据。这一点非常重要,因为它能告诉电脑:
1. 需要为该数据预留多少内存 (Memory)
2. 可以对该数据执行哪些运算 (Operations)(例如,你可以将两个数字相乘,但你无法将两个句子相乘)。

“五大”数据类型

根据 AQA 课程大纲,你需要掌握并学会使用五种主要的数据类型。这里有一个简单的记忆口诀,帮助你把它们记住:

I - Integer(整数)
R - Real(实数)
B - Boolean(布尔值)
C - Character(字符)
S - String(字符串)

记忆口诀:“I Read Books, Comics, & Stories.”(我阅读书籍、漫画与故事。)

重点总结:程序中的每一项数据都必须定义数据类型,这样电脑才知道如何正确处理它。


1. Integer(整数)

Integer(整数)是一个完整数值。它可以是正数、负数或零,但绝对不能有小数点。

现实生活中的例子:
• 教室里的学生人数(你不可能有 25.5 个学生!)
• 游戏中的玩家分数(例如:500 分)
• 当前年份(例如:2024 年)

快速复习:以下哪一个是整数?
12, -5, 0, 10.5
(答案:12、-5 和 0 都是整数。10.5 不是,因为它带有小数点!)


2. Real(实数,也称为浮点数 Float)

Real(实数)是指包含小数点的数字。在 Python 等程序语言中,它通常被称为 float(浮点数),但在 AQA 考试中,你应该使用 Real(实数)这个术语。

现实生活中的例子:
• 商店中商品的价格(例如:$1.99)
• 人的身高(以米为单位,例如:1.75m)
• 温度(例如:-3.4°C)

你知道吗?即使一个数字本身是完整的,如果它被存储为 Real,电脑也会把它视为 \(5.0\) 而不是单纯的 \(5\)。


3. Boolean(布尔值)

Boolean(布尔值)是最简单的数据类型。它永远只有两种可能的数值True(真)False(假)。可以把它想象成电灯开关——不是“开(ON)”就是“关(OFF)”。

现实生活中的例子:
• 用户是否已登录?(True/False)
• 游戏是否结束?(True/False)
• 用户是否获得高分?(True/False)

常见错误:学生常试着用“Yes”或“No”来表示布尔逻辑。但在程序设计中,请务必坚持使用 TrueFalse


4. Character(字符)

Character(字符)单个符号。它可以是一个字母、一个数字或是一个特殊符号(例如标点符号)。在代码中,它几乎总是被单引号包围。

现实生活中的例子:
• 考试等级(例如:'A')
• 性别缩写(例如:'M' 或 'F')
• 键盘上的按键(例如:'s')

关键点:数字 '7' 也可以是一个字符!如果它被存储为字符,在将其转换回整数之前,你是无法对它进行数学运算的。


5. String(字符串)

String(字符串)一连串的字符序列。它用于存储文字。试着把它想象成一串“珠子”,每一颗珠子都是一个单独的字符。字符串通常用双引号包围。

现实生活中的例子:
• 人的姓名(例如:"Alice")
• 密码(例如:"P@ssw0rd123")
• 电话号码(等等,为什么是字符串?因为我们不会对电话号码进行数学运算,且它们通常以零开头!)

鼓励语:如果你觉得区分“字符 (Character)”和“字符串 (String)”有点困难,只要记住:字符 (Character)单个项目,而 字符串 (String) 是项目的集合


比较总结表

使用这个“快速复习”表来检查你对这些类型差异的理解:

数据类型:Integer | 例子: \(10\) | 用途:计算完整项目。
数据类型:Real | 例子: \(10.5\) | 用途:精确测量或金额。
数据类型:Boolean | 例子: \(True\) | 用途:是/否条件判断。
数据类型:Character | 例子: \('A'\) | 用途:单个字母或符号。
数据类型:String | 例子: \("Hello"\) | 用途:单词、句子或 ID。


应避免的常见错误

1. 混淆 "7" (字符串) 与 7 (整数):
如果你有一个字符串 "7",并试图加上 1,电脑会感到困惑并崩溃!
• \("7" + "1" = "71"\)(这称为串接 (Concatenation)——即连接文字)
• \(7 + 1 = 8\)(这是加法——即数学运算)
务必确保你使用了正确的类型来完成任务!

2. 忘记 Real 数是小数:
在考试中,如果问题询问用什么数据类型来存储“班级平均分数”,请务必选择 Real,因为平均数几乎总会产生小数!


最终总结

• Integer(整数)是完整数值 (0, 1, 2, -5)。
• Real(实数)包含小数点 (1.5, -0.9)。
• Boolean(布尔值)只有 True 或 False。
• Character(字符)是单个字母或符号 ('B')。
• String(字符串)是字符或文字的集合 ("Computer Science")。