当前位置: 首页 > article >正文

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)转义字符

  1. 使用反斜杠 \ + 特殊字符 ,实现某些难以用字符表示的效果。如:换行,等等。

    转义字符描述
    (在行尾时)续行符
    \反斜杠符号
    单引号
    "双引号
    \b退格(Backspace)
    \n换行
    \t横向制表符
    \r回车
  2. 常用转义字符速记

    转义字符生活功能类比
    \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)使用 + 将多个字符串拼接起来

  1. 如果+两边都是字符串,则拼接。
  2. 如果+两边都是数字,则加法运算。
  3. 如果+两边类型不同,则抛出异常。
  4. 可以将多个字符串直接放在一起实现拼接。例如:'ab'+'bb'结果是'abab'

(2)使用 * 复制字符串

  1. 使用*可以实现字符串复制。

三、问题: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}"  

关键点

  1. 使用\n实现换行层级
  2. \t控制地址信息的缩进对齐

任务2:用户欢迎语生成

# 获取用户输入并生成重复强调的欢迎语  
# 示例输入:  
# 姓名 >> 韩梅梅  
# 年龄 >> 28  
# 目标输出:  
# ★★ 欢迎韩梅梅(28岁)!! ★★  name = input("姓名 >> ")  
age = input("年龄 >> ")  # 补全字符串拼接与复制操作  
welcome_msg = "★" * 2 + f" 欢迎{name}{age}岁)" + "!" * 2 + " ★" * 2  
print(welcome_msg)  

参考答案:

姓名 >> 韩梅梅  
年龄 >> 28  
★★ 欢迎韩梅梅(28岁)!! ★★  

解析

  1. *运算符实现星号和叹号重复
  2. input()直接获取用户输入内容

📢 互动区
👉 遇到问题?在评论区:

  1. 描述问题(带代码截图更好)
  2. 分享学习心得
  3. 给文章提建议

支持作者:点赞 | 收藏 | 关注
你的三连是我更新的最大动力!


http://www.lryc.cn/news/2391999.html

相关文章:

  • 国芯思辰| 同步降压转换器CN2020应用于智能电视,替换LMR33620
  • 6个月Python学习计划 Day 8 - Python 函数基础
  • DeepSeek 提示词大全
  • 俄罗斯无人机自主任务规划!UAV-CodeAgents:基于多智能体ReAct和视觉语言推理的可扩展无人机任务规划
  • 结构性设计模式之Bridge(桥接)
  • CSS篇-1
  • Android 16系统源码_无障碍辅助(一)认识无障碍服务
  • 分布式数据库备份实践
  • 如何发布npm包?
  • 鸿蒙---使用真机模拟器的时候,图片不加载问题
  • 实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.6 R语言解题
  • .NET 8使用AOT发布ASP.NET Core应用
  • OpenCV计算机视觉实战(8)——图像滤波详解
  • Docker 前端镜像容器部署指南
  • OpenAI大模型不听人类指令事件的技术分析与安全影响
  • 图神经网络实战——图的可视化
  • 自动化安全脚本学习
  • github公开项目爬取
  • 用豆包写单元测试
  • 传输层协议TCP(上)
  • Windows下安装并使用kubectl查看K8S日志
  • Hive 分区详解:从基础概念到实战应用
  • Android studio进阶开发(六)--如何用真机通过okhttp连接服务器
  • 如何解决网站服务器的异常问题?
  • WeakAuras Lua Script [ICC BOSS 11 - Sindragosa]
  • 用户界面禁忌——基础原则
  • 电脑开机后出现bootmgr is conmpressed原因及解决方法
  • vite配置一个css插件
  • React+Taro 微信小程序做一个页面,背景图需贴手机屏幕最上边覆盖展示
  • Spring框架学习day4--Spring集成Mybatis(IOC)