19、Python字符串高阶实战:转义字符深度解析、高效拼接与输入处理技巧
适合人群:零基础自学者 | 编程小白快速入门
阅读时长:约6分钟
文章目录
- 一、问题:Python的转义字符?
- 1、例子1:快递地址格式化打印
- 2、答案:
- (1)转义字符
- 二、问题:Python的字符串拼接和复制?
- 1、例子1:姓名卡制作(拼接)
- 2、例子2:商品标签批量生成(复制)
- 3、答案:
- (1)使用 + 将多个字符串拼接起来
- (2)使用 * 复制字符串
- 三、问题:Python的不换行打印?
- 1、例子1:快递单信息连续打印
- 2、答案:
- (1)print不换行打印
- 四、问题:Python的从控制台读取字符串?
- 1、例子1:智能客服姓名收集
- 2、答案:
- (1)print不换行打印
- 五、动手试一试
- 任务1:快递单格式化输出
- 任务2:用户欢迎语生成
一、问题:Python的转义字符?
1、例子1:快递地址格式化打印
# 使用转义字符控制地址格式
address = "收件人:张三\n联系电话:13800138000\t地址:\n\t北京市海淀区\n\t中关村大街1号" print("快递单信息:")
print(address)
输出效果:
快递单信息:
收件人:张三
联系电话:13800138000 地址: 北京市海淀区 中关村大街1号
类比场景:
\n
像按下键盘的Enter键实现换行\t
像按下Tab键实现缩进对齐
2、答案:
(1)转义字符
-
使用反斜杠
\
+特殊字符
,实现某些难以用字符表示的效果。如:换行,等等。转义字符 描述 (在行尾时) 续行符 \ 反斜杠符号 ’ 单引号 " 双引号 \b 退格(Backspace) \n 换行 \t 横向制表符 \r 回车 -
常用转义字符速记
转义字符 生活功能类比 \n
换行(新起一行) \t
制表符(对齐文本)
二、问题:Python的字符串拼接和复制?
1、例子1:姓名卡制作(拼接)
# 拼接姓氏和名字
first_name = "李"
last_name = "小明" # 制作完整姓名卡
full_name = first_name + last_name
print(f"姓名卡:{full_name}") # 输出:姓名卡:李小明 # 添加职位后缀
position = "(工程师)"
name_card = full_name + position
print(name_card) # 输出:李小明(工程师)
2、例子2:商品标签批量生成(复制)
# 单个商品标签模板
base_tag = "[特价]" # 批量生成5个相同标签
batch_tags = base_tag * 5
print(batch_tags) # 输出:[特价][特价][特价][特价][特价] # 组合使用拼接与复制
product = "西瓜"
hot_sale = product + "!" * 3 # 添加促销符号
print(hot_sale) # 输出:西瓜!!!
关键规则说明
操作 | 符号 | 类比场景 | 代码示例 |
---|---|---|---|
拼接 | + | 拼图组合 | "北京" + "朝阳区" |
复制 | * | 批量印刷相同标签 | "重要" * 3 → "重要重要重要" |
3、答案:
(1)使用 + 将多个字符串拼接起来
- 如果
+
两边都是字符串,则拼接。 - 如果
+
两边都是数字,则加法运算。 - 如果
+
两边类型不同,则抛出异常。 - 可以将多个字符串直接放在一起实现拼接。例如:
'ab'+'bb'
结果是'abab'
(2)使用 * 复制字符串
- 使用
*
可以实现字符串复制。
三、问题:Python的不换行打印?
1、例子1:快递单信息连续打印
print("物流状态:已发货", end=" → ") # end参数指定连接符号
print("当前城市:北京", end=" | ") # 取消自动换行,用竖线分隔
print("预计送达:2024-03-20")
输出效果:
物流状态:已发货 → 当前城市:北京 | 预计送达:2024-03-20
类比场景:
end
参数像胶水,把多个print
的输出粘在一起- 默认
end="\n"
(换行符),修改后可连接打印内容
关键参数说明
代码示例 | 输出效果 |
---|---|
print("A", end="") | A(无换行无间隔) |
print("B", end="→") | B→(带箭头无换行) |
2、答案:
(1)print不换行打印
我们前面调用print
时,会自动打印一个换行符。有时,我们不想换行,不想自动添加换行符。可以自己通过参数end="任意字符串"
。实现末尾添加任何内容。
四、问题:Python的从控制台读取字符串?
1、例子1:智能客服姓名收集
# 获取用户姓名并个性化回应
user_name = input("您好!请问怎么称呼您?")
print(f"{user_name}您好,请问有什么可以帮您?")
运行效果:
您好!请问怎么称呼您?王小明
王小明您好,请问有什么可以帮您?
2、答案:
(1)print不换行打印
input()
函数用于实时捕获用户在控制台的输入(如姓名、年龄等),并以字符串形式返回输入内容。
五、动手试一试
任务1:快递单格式化输出
# 补全代码生成指定格式的快递单
# 要求输出效果:
# 收件人:李雷
# 地址:
# 北京市朝阳区
# 望京街道101号 name = "李雷"
address_part1 = "北京市朝阳区"
address_part2 = "望京街道101号" formatted_address = ______
print(formatted_address)
参考答案:
formatted_address = f"收件人:{name}\n\t地址:\n\t\t{address_part1}\n\t\t{address_part2}"
关键点:
- 使用
\n
实现换行层级 \t
控制地址信息的缩进对齐
任务2:用户欢迎语生成
# 获取用户输入并生成重复强调的欢迎语
# 示例输入:
# 姓名 >> 韩梅梅
# 年龄 >> 28
# 目标输出:
# ★★ 欢迎韩梅梅(28岁)!! ★★ name = input("姓名 >> ")
age = input("年龄 >> ") # 补全字符串拼接与复制操作
welcome_msg = "★" * 2 + f" 欢迎{name}({age}岁)" + "!" * 2 + " ★" * 2
print(welcome_msg)
参考答案:
姓名 >> 韩梅梅
年龄 >> 28
★★ 欢迎韩梅梅(28岁)!! ★★
解析:
*
运算符实现星号和叹号重复input()
直接获取用户输入内容
📢 互动区
👉 遇到问题?在评论区:
- 描述问题(带代码截图更好)
- 分享学习心得
- 给文章提建议
⭐ 支持作者:点赞 | 收藏 | 关注
你的三连是我更新的最大动力!