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

18、Python字符串全解析:Unicode支持、三种创建方式与长度计算实战

适合人群:零基础自学者 | 编程小白快速入门
阅读时长:约6分钟

文章目录

  • 一、问题:Python的字符串是什么?
    • 1、例子1:多语言支持演示
    • 2、例子2:字符串不可变性验证
    • 3、答案:
      • (1)字符串的本质
      • (2)Python3支持Unicode编码
      • (3)⚠ 新手注意
      • (4)老手建议
  • 二、问题:Python的创建字符串?
    • 1、例子1:简易名片制作(单双引号)
    • 2、例子2:诗歌格式排版(三引号实战)
    • 3、答案:
      • (1)引号创建字符串
  • 三、问题:Python的空字符串和len()函数?
    • 1、例子1:商品简介长度检查
    • 2、答案:
      • (1)空字符和len()函数
  • 四、动手试一试
    • 任务1:多行诗歌排版
    • 任务2:商品描述长度验证

一、问题:Python的字符串是什么?

1、例子1:多语言支持演示

# 定义多语言问候语  
chinese = "你好!"  
english = "Hello!"  
japanese = "こんにちは!"  print(chinese + english + japanese)  
# 输出:你好!Hello!こんにちは!  # 合法变量名示例
用户名 = "张三"  
年龄 = 25  
住所 = "東京都渋谷区"  print(f"{用户名}今年{年龄}岁,住在{住所}")  
# 输出:张三今年25岁,住在東京都渋谷区

2、例子2:字符串不可变性验证

origin_str = "Hello"
new_str = origin_str.replace("H", "h")
print(origin_str)  # 输出:Hello → 原字符串未改变
print(new_str)     # 输出:hello → 创建新字符串

3、答案:

(1)字符串的本质

在这里插入图片描述

  1. 字符串的本质是:字符序列。羊肉串是羊肉的串,字符串是字符的串,字符串有顺序的排列。
  2. Python不支持单字符类型,单字符也是作为一个字符串使用的。

(2)Python3支持Unicode编码

  1. Python3直接支持Unicode编码,可以表示世界上任何书面语言的字符。Python3默认使用Unicode编码(UTF-8),理论上支持超过100万个字符,ASCII码是Unicode编码的子集。
  2. Python标识符命名遵循Unicode标准,允许使用中文、英文、日文等多语言字符。

(3)⚠ 新手注意

  1. Python的字符串是不可变的,我们无法直接修改原字符串。但可以通过创建新字符串的方式实现"看似修改"的效果。

(4)老手建议

  1. 很多人初学编程时,总是担心自己数学不行,潜意识里认为数学好才能编程。实际上,大多数程序员打交道最多的是“字符串”而不是“数学”。因为,编程是用来解决现实问题的,因此逻辑思维的重要性远远超过数学能力。

二、问题:Python的创建字符串?

1、例子1:简易名片制作(单双引号)

# 单引号创建含双引号的字符串  
name_card1 = '昵称:"Python小助手"'  
# 双引号创建含单引号的字符串  
name_card2 = "口号:'让编程更简单'"  print(name_card1)  # 输出:昵称:"Python小助手"  
print(name_card2)  # 输出:口号:'让编程更简单'  

2、例子2:诗歌格式排版(三引号实战)

# 三引号保留换行和缩进格式  
poem = '''  
《静夜思》  
床前明月光,疑是地上霜。  
举头望明月,低头思故乡。  
'''  
print(poem)  # 输出效果:
"""
《静夜思》  
床前明月光,疑是地上霜。  
举头望明月,低头思故乡。  
"""

3、答案:

(1)引号创建字符串

  1. 通过单引号或双引号创建字符串,例如:a='abc'b="qsf",使用两种引号的好处是,可以创建本身就包含引号的字符串,而不用使用转义字符。
  2. 连续三个单引号或三个双引号,可以创建多行字符串。在长字符串中会保留原始的格式。

三、问题:Python的空字符串和len()函数?

1、例子1:商品简介长度检查

empty_desc = ""  
simple_desc = "新鲜直达"  
detail_desc = "有机种植|24小时冷链运输|无农药残留"  # 共19个字符(含符号)print("空描述长度:", len(empty_desc))    # 输出:0  
print("简介长度:", len(simple_desc))     # 输出:4  
print("详细描述长度:", len(detail_desc)) # 输出:19  

2、答案:

(1)空字符和len()函数

  1. Python允许空字符的存在,不包含任何字符且长度为0。
  2. len() 用于计算字符串含有多少个字符。

四、动手试一试

任务1:多行诗歌排版

# 补全代码:用三引号创建《静夜思》完整格式  
poem = ______  
print(poem)  
# 目标输出:  
# 《静夜思》  
# 床前明月光,疑是地上霜。  
# 举头望明月,低头思故乡。

参考答案:

poem = '''  
《静夜思》  
床前明月光,疑是地上霜。  
举头望明月,低头思故乡。  
'''  

关键点

  1. 三引号保留换行和缩进格式
  2. 直接输入诗句无需转义符号

任务2:商品描述长度验证

product = "新款无线蓝牙耳机(旗舰版)"  # 补全代码计算描述字符数  
desc_len = ______  
print(f"描述长度:{desc_len}字符")  # 应输出:12  

参考答案:

desc_len = len(product)  

解析

  1. len() 函数统计所有Unicode字符(中文每个字符计1)
  2. 标点符号和括号也计入长度

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

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

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


http://www.xdnf.cn/news/9302.html

相关文章:

  • 【DeepSeek论文精读】12. DeepSeek-Prover-V2: 通过强化学习实现子目标分解的形式化数学推理
  • 【PhysUnits】14 二进制数的标准化表示(standardization.rs)
  • 【第1章 基础知识】1.6 事件处理
  • 嵌入式自学第二十九天(5.27)
  • 北京大学 | DeepSeek内部研讨资料:AI工具深度测评与选型指南,319页
  • 系统编程day05
  • 基于 STM32 的智慧农业温室控制系统设计与实现
  • 学习python day9
  • DeviceNET转EtherCAT协议转换网关解读
  • Qwen3内置提示词模板解读
  • 数据库大学实验一
  • 投影机三色光源和单色光源实拍对比:一场视觉体验的终极较量
  • 知识图谱系列(4):查询与推理技术
  • 第四十七篇-Tesla P40+Qwen3-30B-A3B部署与测试
  • 什么是PLM软件?离散制造业和流程制造业的主流PLM介绍、国产PLM应用案例
  • 5月27日星期二今日早报简报微语报早读
  • RuoYi前后端分离框架集成Jasypt实现配置信息加密
  • Kubernetes简介及常用命令
  • 高效大电流缓启动电路设计
  • Manus,AGI 要来临了吗?
  • 电子电路:欧姆定律和电流量子化有关系吗?
  • 深入剖析机器学习之波士顿房价案例
  • 易境通海外仓系统:如何提高仓库尾程派送环节效率?
  • 「Python教案」循环语句的使用
  • 离子风机如何保障汽车电子智造组装车间良品率
  • C语言数据存储
  • 操作系统——第四章(文件共享、保护、层级结构、系统布局..)
  • Docker+MobaXterm+x11实现容器UI界面转发本地
  • Python map()函数详解:批量数据处理的瑞士军刀
  • STM32 Keil工程搭建 (手动搭建)流程 2025年5月27日07:42:09