为什么 "1"+1 会报错?一文搞懂 Python 的数据类型
在上一章,我们学会了 变量 。 我们把数据放进了一个个贴着标签的“箱子”里: money = 100 name = "张三"但是,计算机其实很“死板”。 对于它来说, 处理“数字”和处理“文字”的方法是完全不一样的。如果我们在写代码时,不小心把“文字”拿去做了“数学运算”,程序就会直接崩溃报错。为了避免这种情况,我们需要深入了解 Python 的 数据类型 ,并学会一招“查户口”的神技。🔍同理,在 Python 的世界里,数据也被分成了不同的 类别(Type) 。 Python 解释器在运行时,必须清楚地知道这个变量属于哪一类,才能决定怎么处理它。虽然 Python 的数据类型有很多,但在入门阶段,你只需要死磕这 “三大金刚” 就够了:
- 全称: Floating-point number
- 特征: 也就是文本,必须用 引号 (单/双)包围。
- 例子: "Hello" , 'Python' , "123"
⚠️ 重点提醒: "123" 是字符串(文本),而 123 是整数(数字)。 哪怕内容一样,只要加了引号,它在计算机眼里的物种就变了!有时候代码写长了,或者接手了别人的代码,我们不知道某个变量到底是什么类型,怎么办?Python 提供了一个内置的工具函数: type() 。 它的作用就是查看变量的“真实身份”。💻 实战演示: 打开 PyCharm,输入以下代码并运行:# 1. 定义三个变量name = "张三"age = 18height = 1.75# 2. 使用 type() 查看它们的类型print(type(name))print(type(age))print(type(height))
记住这三个缩写: str、int、float ,以后你会天天见到它们!这是一个新手常问的问题: “变量 box 本身有类型吗?”答案是:没有。 Python 中的变量只是一个“标签”或“指针”。 只有变量里装的数据,才有类型。当你执行 a = 10 时, a 指向了一个整数。如果你接着写 a = "Hello" , a 就指向了一个字符串。这就是 Python 被称为 “动态类型语言” 的原因——变量极其灵活,想装啥就装啥。最后,带大家看一个新手 100% 会踩的坑。 请看这段代码:name = "张三"age = 18# 你的意图:打印 "张三今年18岁"print(name + "今年" + age + "岁")
运行后,你会收到一个红色的报错: ❌ TypeError: can only concatenate str (not "int") to str翻译过来就是: 类型错误!只能把字符串拼接到字符串上,不能把整数(int)拼上去。为什么? 因为 name 是文字, age 是数字。Python 不知道该怎么把“文字”和“数字”强行粘在一起。那该怎么办呢?难道我就不能打印这句话了吗? 当然可以!我们需要把数字“变身”成文字。总结一下今天的内容: 1使用 type() 函数可以查看数据或变量的类型。 3. 不同类型的数据,通常不能直接放在一起运算(比如文字+数字)。