1. 引言
字符串(str
)是 Python 中最常用的数据类型之一,用于存储文本信息。Python 提供了一系列强大的方法来操作字符串,包括拼接、切片、格式化、查找替换等。本文将深入讲解 Python 字符串的基本概念、常见操作及高级用法。
2. 字符串的定义与创建
在 Python 中,字符串可以使用单引号 ('
)、双引号 ("
) 或三引号 (''' """
) 进行定义:
s1 = 'Hello'
s2 = "Python"
s3 = '''This is a multi-line string.'''
s4 = """Another multi-line string."""
print(type(s1)) # <class 'str'>
- 单引号和双引号:功能相同,推荐统一使用其中一种。
- 三引号:支持多行字符串,适用于文档注释。
3. 字符串索引与切片
Python 字符串支持索引(index
)和切片(slice
)操作:
s = "Python"
print(s[0]) # 'P' (正向索引)
print(s[-1]) # 'n' (反向索引)
print(s[0:4]) # 'Pyth' (从索引 0 到 3)
print(s[:4]) # 'Pyth' (省略起始索引)
print(s[2:]) # 'thon' (省略结束索引)
print(s[::-1]) # 'nohtyP' (反转字符串)
- 索引:从
0
开始,负数表示从右向左计数。 - 切片:
s[start:end:step]
(不包含end
)。
4. 字符串拼接与重复
Python 提供 +
进行拼接,*
进行重复:
s1 = "Hello"
s2 = "World"
print(s1 + " " + s2) # Hello World
print(s1 * 3) # HelloHelloHello
5. 字符串常用方法
Python 提供了丰富的字符串操作方法:
方法 | 说明 | 示例 |
---|---|---|
len(s) | 获取字符串长度 | len("Python") → 6 |
s.strip() | 去除首尾空格 | ' hello '.strip() → 'hello' |
s.lower() | 转小写 | 'HELLO'.lower() → 'hello' |
s.upper() | 转大写 | 'hello'.upper() → 'HELLO' |
s.replace(a, b) | 替换 | 'apple'.replace('p', 'b') → 'abble' |
s.split(sep) | 分割 | 'a,b,c'.split(',') → ['a', 'b', 'c'] |
s.find(sub) | 查找子串 | 'hello'.find('e') → 1 |
s.count(sub) | 统计出现次数 | 'hello'.count('l') → 2 |
示例
s = " Python is great! "
print(len(s)) # 18
print(s.strip()) # "Python is great!"
print(s.lower()) # " python is great! "
print(s.upper()) # " PYTHON IS GREAT! "
print(s.replace("great", "awesome")) # " Python is awesome! "
print(s.split()) # ['Python', 'is', 'great!']
6. 字符串格式化
Python 提供 f-strings
、format()
及 %
进行格式化:
name = "Alice"
age = 25
# f-string(推荐)
print(f"My name is {name} and I am {age} years old.")
# format() 方法
print("My name is {} and I am {} years old.".format(name, age))
# % 方式(旧式)
print("My name is %s and I am %d years old." % (name, age))
7. 检查字符串
Python 提供 startswith()
、endswith()
、isdigit()
等方法:
s = "Hello123"
print(s.startswith("He")) # True
print(s.endswith("123")) # True
print(s.isdigit()) # False
print("123".isdigit()) # True
print("Hello".isalpha()) # True
print("Hello123".isalnum()) # True
8. 进阶:字符串翻转、去重、统计
字符串反转
s = "Python"
print(s[::-1]) # 'nohtyP'
去重
s = "banana"
print("".join(set(s))) # 'ban'
统计字符频率
from collections import Counter
s = "banana"
count = Counter(s)
print(count) # Counter({'a': 3, 'n': 2, 'b': 1})
9. 结论
Python 的字符串操作功能强大,涵盖索引切片、拼接、格式化、查找替换等内容。掌握这些方法能提升文本处理效率。
🚀 你学会了吗?欢迎实践测试!
发表回复