当前位置:首页>python>为什么 "1"+1 会报错?一文搞懂 Python 的数据类型

为什么 "1"+1 会报错?一文搞懂 Python 的数据类型

  • 2026-08-25 01:37:23
为什么 "1"+1 会报错?一文搞懂 Python 的数据类型
在上一章,我们学会了 变量 。 我们把数据放进了一个个贴着标签的“箱子”里: money = 100    name = "张三"
但是,计算机其实很“死板”。 对于它来说, 处理“数字”和处理“文字”的方法是完全不一样的。
数字可以做加减乘除。
文字只能做拼接或展示。
如果我们在写代码时,不小心把“文字”拿去做了“数学运算”,程序就会直接崩溃报错。
为了避免这种情况,我们需要深入了解 Python 的 数据类型 ,并学会一招“查户口”的神技。🔍

01

📊 为什么要有数据类型?
我们在生活中对物品分类很明确:
水 (液体):用来喝、洗衣服。
面包 (固体):用来吃。
你绝对不会把面包倒进洗衣机里,对吧?
同理,在 Python 的世界里,数据也被分成了不同的 类别(Type) 。 Python 解释器在运行时,必须清楚地知道这个变量属于哪一类,才能决定怎么处理它。

02

🧱 三大基础数据类型
虽然 Python 的数据类型有很多,但在入门阶段,你只需要死磕这 “三大金刚” 就够了:
  1. 整数 (int)
  • 全称: Integer
  • 特征: 没有任何小数点的数字。
  • 场景: 记录人数、年份、索引。
  • 例子: 10 , -5 , 0
  1. 浮点数 (float)
  • 全称: Floating-point number
  • 特征: 只要带 小数点 ,就是浮点数。
  • 场景: 价格、身高、体重、圆周率。
  • 例子: 13.14 , 3.0 , -0.01
  1. 字符串 (str)
  • 全称: String
  • 特征: 也就是文本,必须用 引号 (单/双)包围。
  • 场景: 姓名、地址、一段话。
  • 例子: "Hello" , 'Python' , "123"
⚠️ 重点提醒: "123" 是字符串(文本),而 123 是整数(数字)。 哪怕内容一样,只要加了引号,它在计算机眼里的物种就变了!

03

🕵️‍♂️ type():数据的“照妖镜”
有时候代码写长了,或者接手了别人的代码,我们不知道某个变量到底是什么类型,怎么办?
Python 提供了一个内置的工具函数: type() 。 它的作用就是查看变量的“真实身份”。
👇 语法格式:
type(被查看的数据)
💻 实战演示: 打开 PyCharm,输入以下代码并运行:
# 1. 定义三个变量name = "张三"age = 18height = 1.75# 2. 使用 type() 查看它们的类型print(type(name))print(type(age))print(type(height))
运行结果会显示:
 👉 说明是 字符串
 👉 说明是 整数
 👉 说明是 浮点数
记住这三个缩写: str、int、float ,以后你会天天见到它们!

04

💾 变量也有“类型”吗?
这是一个新手常问的问题: “变量 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.  不同类型的数据,通常不能直接放在一起运算(比如文字+数字)。

最新文章

随机文章