当前位置:首页>java>为什么你的代码会报 TypeError?一文搞懂字符串拼接的逻辑

为什么你的代码会报 TypeError?一文搞懂字符串拼接的逻辑

  • 2026-09-08 05:23:34
为什么你的代码会报 TypeError?一文搞懂字符串拼接的逻辑
想象一下,你正在写一个欢迎程序。你已经通过变量拿到了用户的名字:
你现在的任务是打印出一句: “欢迎你,张三!” 。
你总不能直接写死 吧?因为下一个用户可能叫李四。
这时候,我们就需要把 固定的文字 和 变化的变量 拼接在一起。

01

➕ 最简单的方式:使用加号 +
在 Python 中, 号不仅能做数学加法,还能作为 字符串的“胶水” 。
它可以把两个或多个字符串字面量(或者字符串变量)横向连接成一个新的字符串。
👇 代码演示:
# 1. 拼接字符串字面量print("学好Python," + "走遍天下都不怕")# 2. 拼接变量与字面量hero = "孙悟空"action = "打怪兽"print(hero + "正在" + action)
# 只要中间有空格或换行,它们会自动粘在一起text = "Hello " "World"print(text)  # 输出: Hello World
运行结果:学好Python,走遍天下都不怕
         孙悟空正在打怪兽

02

🚨 警惕!字符串拼接的“禁区”
这是新手在这一章 必犯 的一个错误。
请记住:+ 号拼接只能用于“字符串 + 字符串”。
如果你试图用 号去拼接字符串和 数字 (整数或浮点数),Python 就会当场“翻脸”报错。
❌ 错误示范:
name = "周杰伦"age = 18# 试图把字符串和数字直接相加print("我是" + name + ",我今年" + age + "岁")
报错结果:
为什么?
计算机很轴的。它不知道你这个 是想做 数学加法 还是 文字拼接 。为了安全起见,它索性报错。
✅ 解决方案:
还记得我们之前学的“变身魔法”吗?你需要先用 函数把数字转成字符串。
# 将数字 age 转换为字符串再拼接print("我是" + name + ",我今年" + str(age) + "岁")

03

🧵 进阶:不用加号也能拼?
在 Python 中,其实还有一种比较“冷门”但很有趣的拼接方式: 字面量自动连接 。
如果你只是想拼接两个 写死的字符串 ,甚至连 号都不用写,只需要把它们挨在一起即可。
👇 代码演示:
注意: 这种方法 不适用于变量 ,只适用于直接写在代码里的引号内容。在实际开发中,为了清晰起见,大家还是更倾向于使用 + 或者我们下一章要讲的格式化方法。
🧠 总结一下
字符串拼接 :使用 + 号将两段文字粘在一起。
核心限制 :只能 str + str 。遇到数字必须先用 str() 转换。
注意空格 :拼接时,Python 不会自动帮你加空格,如果需要空格,记得在字符串里预留。

最新文章

随机文章