在 Python 3 中,字符串(String) 是一种表示文本数据的核心数据类型。字符串可以包含字母、数字、符号和空格等字符,并且在 Python 中被广泛使用。以下是关于 Python 3 字符串的详细讲解:
1. 定义字符串
字符串可以用以下三种方式定义:
- 单引号(
'
) - 双引号(
"
) - 三引号(
'''
或"""
)
示例:
# 使用单引号
string1 = 'Hello'
# 使用双引号
string2 = "World"
# 使用三引号(支持多行字符串)
string3 = '''This is
a multiline
string.'''
2. 字符串的特点
-
不可变性
字符串是不可变的(immutable),一旦创建,就无法更改它的内容。示例:
s = "hello" # s[0] = 'H' # 错误:字符串内容不可修改 s = "world" # 可重新赋值,但会创建新的字符串对象
-
支持索引和切片
- 字符串可以通过索引访问字符(索引从
0
开始,负索引从末尾开始)。 - 可以通过切片操作获取字符串的子字符串。
示例:
s = "Python" print(s[0]) # 输出 'P' print(s[-1]) # 输出 'n'(负索引) print(s[0:3]) # 输出 'Pyt'(切片,从索引 0 到 2) print(s[:3]) # 输出 'Pyt'(省略起始索引) print(s[3:]) # 输出 'hon'(省略结束索引)
- 字符串可以通过索引访问字符(索引从
3. 常用字符串操作
a. 拼接和重复
- 拼接字符串:使用
+
运算符。 - 重复字符串:使用
*
运算符。
示例:
s1 = "Hello"
s2 = "World"
print(s1 + " " + s2) # 输出 'Hello World'
print(s1 * 3) # 输出 'HelloHelloHello'
b. 格式化字符串
Python 提供了多种格式化字符串的方法:
-
%
格式化name = "Alice" age = 25 print("Name: %s, Age: %d" % (name, age)) # 输出 'Name: Alice, Age: 25'
-
str.format()
print("Name: {}, Age: {}".format(name, age)) # 输出 'Name: Alice, Age: 25' print("Name: {0}, Age: {1}".format(name, age)) # 使用位置索引 print("Name: {name}, Age: {age}".format(name=name, age=age)) # 使用关键字
-
f-string(Python 3.6+)
print(f"Name: {name}, Age: {age}") # 输出 'Name: Alice, Age: 25'
c. 字符串内置方法
Python 提供了丰富的字符串方法:
方法 | 描述 |
---|---|
str.lower() | 转为小写 |
str.upper() | 转为大写 |
str.capitalize() | 首字母大写 |
str.title() | 每个单词的首字母大写 |
str.strip() | 移除字符串两端的空格或指定字符 |
str.lstrip() | 移除字符串左端的空格或指定字符 |
str.rstrip() | 移除字符串右端的空格或指定字符 |
str.replace(old, new) | 替换子字符串 |
str.split(sep) | 按指定分隔符分割字符串 |
str.join(iterable) | 用字符串连接可迭代对象中的元素 |
str.find(sub) | 查找子字符串的索引(找不到返回 -1) |
str.count(sub) | 统计子字符串出现的次数 |
str.startswith(prefix) | 是否以指定前缀开头 |
str.endswith(suffix) | 是否以指定后缀结尾 |
示例:
s = " Python is Awesome! "
print(s.lower()) # 输出 ' python is awesome! '
print(s.strip()) # 输出 'Python is Awesome!'
print(s.replace("Awesome", "Great")) # 输出 ' Python is Great! '
print(s.split()) # 输出 ['Python', 'is', 'Awesome!']
print("-".join(["A", "B", "C"])) # 输出 'A-B-C'
4. 转义字符
转义字符用于在字符串中表示特殊字符:
转义序列 | 描述 |
---|---|
\\ | 反斜杠 |
\' | 单引号 |
\" | 双引号 |
\n | 换行 |
\t | 制表符 |
\r | 回车 |
示例:
s = "He said, \"Python is awesome!\""
print(s) # 输出 He said, "Python is awesome!"
5. 原始字符串
原始字符串以 r
或 R
开头,表示字符串中的转义字符不被处理。
示例:
s = r"C:\Users\name\Desktop"
print(s) # 输出 'C:\Users\name\Desktop'
6. 字符串编码
字符串在 Python 3 中是以 Unicode 编码的,可以用以下方法处理编码和解码:
- 编码(字符串 → 字节):
encode()
- 解码(字节 → 字符串):
decode()
示例:
s = "你好"
b = s.encode("utf-8") # 编码为字节
print(b) # 输出 b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(b.decode("utf-8")) # 解码为字符串,输出 '你好'
7. 字符串的比较与操作
-
字符串比较
- 比较运算符:
==
,!=
,<
,>
,<=
,>=
。 - 比较是基于 Unicode 编码值的。
- 比较运算符:
-
字符串长度 使用
len()
获取字符串长度:s = "Hello" print(len(s)) # 输出 5
-
检查成员 使用
in
或not in
检查子字符串:s = "Python" print("Py" in s) # 输出 True print("java" not in s) # 输出 True
通过理解和灵活应用这些字符串操作,可以在 Python 中高效处理和操作文本数据。
标签:输出,String,Python,print,str,字符串,name From: https://blog.csdn.net/2401_88186301/article/details/144735967