二、字符串(String)学习笔记
2026-02-19
Python基础
type
Post
status
Published
date
Feb 19, 2026
slug
python-data-structures-string-notes-2
summary
字符串,它是 Python 中最常用的数据类型,用来处理文本数据。字符串是不可变的,这点要特别注意!
tags
Python数据存储容器
category
Python基础
icon
password
字符串,它是 Python 中最常用的数据类型,用来处理文本数据。字符串是不可变的,这点要特别注意!
一、什么是字符串?
1.1 我的理解
字符串就是文本数据,用引号(单引号、双引号或三引号)包裹起来。它是字符的有序序列,可以包含字母、数字、符号、空格等。
1.2 为什么要用字符串?
问题:程序需要与用户交互,需要显示信息、处理文本
字符串的优势:
- 方便存储和处理文本
- 支持各种操作(查找、替换、分割等)
- 可以格式化输出
二、字符串的特点
2.1 特点总结
特点 | 说明 | 示例 |
有序 | 字符按顺序排列,有固定索引 | "abc" 和 "cba" 是不同的字符串 |
不可变 | 字符串创建后不能修改 | 任何修改操作都会创建新字符串 |
可重复 | 允许存储重复的字符 | "aaa" 是合法的字符串 |
可索引 | 可以通过索引访问单个字符 | s[0] 获取第一个字符 |
2.2 字符串的内存结构
字符串内存结构示意图:
重要特性:字符串是不可变的,这意味着一旦创建,就不能修改其中的字符。
三、创建字符串
3.1 使用引号创建(最常用)
3.2 str() 函数创建
四、字符串的基本操作
4.1 索引访问
字符串索引示意图:
4.2 切片操作
字符串切片示意图:
4.3 字符串拼接和重复
五、字符串的常用方法
字符串方法调用示意图:
字符串常用方法速查表
方法类别 | 方法名 | 作用 | 示例 |
大小写转换 | upper() | 转大写 | "hello".upper() → "HELLO" |
ㅤ | lower() | 转小写 | "HELLO".lower() → "hello" |
ㅤ | title() | 单词首字母大写 | "hello world".title() → "Hello World" |
ㅤ | capitalize() | 首字母大写 | "hello".capitalize() → "Hello" |
ㅤ | swapcase() | 大小写互换 | "Hello".swapcase() → "hELLO" |
查找替换 | find() | 查找子串,返回索引或-1 | "hello".find("l") → 2 |
ㅤ | index() | 查找子串,找不到报错 | "hello".index("l") → 2 |
ㅤ | count() | 统计子串出现次数 | "hello".count("l") → 2 |
ㅤ | replace() | 替换子串 | "hello".replace("l", "x") → "hexxo" |
ㅤ | in | 判断子串是否存在 | "l" in "hello" → True |
分割连接 | split() | 按分隔符分割 | "a,b,c".split(",") → ['a', 'b', 'c'] |
ㅤ | join() | 连接字符串 | "-".join(['a', 'b']) → "a-b" |
ㅤ | strip() | 去除首尾空白 | " hello ".strip() → "hello" |
ㅤ | lstrip() | 去除左侧空白 | " hello".lstrip() → "hello" |
ㅤ | rstrip() | 去除右侧空白 | "hello ".rstrip() → "hello" |
判断方法 | startswith() | 是否以...开头 | "hello".startswith("he") → True |
ㅤ | endswith() | 是否以...结尾 | "hello".endswith("lo") → True |
ㅤ | isdigit() | 是否全是数字 | "123".isdigit() → True |
ㅤ | isalpha() | 是否全是字母 | "abc".isalpha() → True |
ㅤ | isalnum() | 是否全是字母或数字 | "abc123".isalnum() → True |
ㅤ | isspace() | 是否全是空白 | " ".isspace() → True |
ㅤ | islower() | 是否全小写 | "hello".islower() → True |
ㅤ | isupper() | 是否全大写 | "HELLO".isupper() → True |
其他 | len() | 获取长度 | len("hello") → 5 |
ㅤ | ord() | 字符转ASCII码 | ord('A') → 65 |
ㅤ | chr() | ASCII码转字符 | chr(65) → 'A' |
5.1 大小写转换
5.2 查找和替换
5.3 分割和连接
5.4 判断方法
六、字符串的遍历
字符串遍历流程图:
6.1 使用 for 循环遍历
6.2 统计字符出现次数
七、字符串格式化
字符串格式化示意图:
7.1 % 格式化(旧式)
7.2 format() 方法(新式)
7.3 f-string 格式化(推荐)
八、转义字符和原始字符串
转义字符示意图:
8.1 转义字符
8.2 原始字符串
九、实际应用案例
文本处理流程图:
9.1 文本处理
9.2 数据解析
9.3 字符串验证
十、遇到的问题和解决
字符串不可变性示意图:
10.1 字符串不可变
10.2 编码问题
10.3 空值和空白字符
简简单单啦,有手就行.
- 统计一个字符串中每个字母出现的次数(不区分大小写),使用循环和条件判断
- 将用户输入的英文句子转为标题格式(每个单词首字母大写),使用title()方法
- 清理一段文本:去除首尾空白,将多个连续空格替换为单个空格
- 实现简单的文本替换功能:将文本中的"Python"替换为"Java","Hello"替换为"Hi"
- 反转一个字符串,并检查它是否是回文(正读反读相同)
- 格式化输出学生成绩单:姓名、语文、数学、英语成绩,计算总分和平均分
Loading...
