Python str字符串类型的用法(附带实例)
字符串(str)是 Python 中的基础数据类型之一,常用于表示文本信息,比如名字、地址等。
在 Python 程序中,字符串是由零个或多个字符组成的序列,可以包含字母、数字、符号、空格等。Python 中的字符串是不可变的,一旦创建,就不能直接修改其中的内容。
字符串可以用单引号(')、双引号(")或三引号(''' 或 """)来定义。例如:
s1 = "Hello" # 双引号
s2 = 'World' # 单引号
s3 = '''这是
多行字符串''' # 三引号
三引号则适合多行文本或文档字符串。单引号和双引号功能相同,选择哪种取决于字符串中是否包含引号。例如:
# 当字符串中包含单引号时,使用双引号来定义字符串
sentence_with_single_quote = "It's a sunny day."
# 当字符串中包含双引号时,使用单引号来定义字符串
sentence_with_double_quote = 'He said, "Let\'s go for a walk."'
Python str字符串类型的基本操作
1) 拼接与重复
字符串可以用 + 进行拼接,用 * 进行重复:
s1 = "Hello"
s2 = "Python"
s3 = s1 + " " + s2 # 拼接
s4 = s1 * 3 # 重复
print(s3) # 输出 Hello Python
print(s4) # 输出 HelloHelloHello
2) 索引与切片
字符串是一个有序序列,可以通过索引访问单个字符,或通过切片获取子字符串。索引从 0 开始,负数则表示从末尾计数。
s[start:stop:step]
- start: 开始位置(包含),省略则从头开始
- stop: 结束位置(不包含),省略则到末尾
- step: 步长,默认为 1,负数表示反向
例如:
s = "Python"
print(s[0]) # 输出 P
print(s[-1]) # 输出 n
print(s[1:4]) # 输出 yth
print(s[:3]) # 输出 Pyt
print(s[::2]) # 输出 Pto(每隔一个字符)
print(s[::-1]) # 输出 nohtyP(反转)
3) str类型转换与检查
可以用 str() 将其他类型转换为字符串,用 type() 或 isinstance() 检查类型:
x = str(123) # 整数转字符串
y = str(3.14) # 浮点数转字符串
print(x) # 输出 "123"
print(type(y)) # 输出
print(isinstance(x, str)) # 输出 True
4) str字符串中的转义字符
如果字符串中需要包含引号或其他特殊字符,可以使用转义字符 \。以下是常见的转义序列:
\n 换行
\t 制表符(Tab)
\' 单引号
\" 双引号
\\ 反斜杠本身
例如:
s1 = "She said, \"Hi!\""
s2 = 'It\'s raining'
s3 = "第一行\n第二行"
print(s1) # 输出 She said, "Hi!"
print(s2) # 输出 It's raining
print(s3) # 输出 第一行(换行)第二行
如果不想处理转义,可以使用原始字符串(raw string),在字符串前加 r:
s = r"C:\new\test"
print(s) # 输出 C:\new\test
Python str字符串中嵌入变量
Python 允许往字符串中嵌入变量,实现方式有以下几种:
1) 直接嵌入表达式
我们可以直接在字符串中嵌入变量或者表达式。例如:
name = "Alice"
age = 20
print(f"姓名:{name},年龄:{age}")
注意,直接在字符串中嵌入表达式时,要在 "" 前加 f 。 运行上述代码,结果为:
姓名:Alice,年龄:20
2) 使用format()函数
也可以借助 format() 函数通过占位符 {} 插入变量:
例如:
score = 95
print("得分:{}".format(score))
3) 使用 % 运算符
较老的方式是用 %,类似 C 语言的格式化。例如:
price = 12.5
print("价格:%.1f" % price)
总结
在 Python 中使用 str 字符串,还有以下几点需要注意:
不可变性:不能直接修改字符串,例如 s[0] = 'x' 会报错;
索引越界:访问超出范围的索引会抛出 IndexError;
空字符串:空字符串 "" 是合法的,长度为 0。