盘点Python基础之字符串的那些事儿

1. 字符串的定义与表示方法

Python中字符串是一种不可变序列。字符串可以用单引号、双引号或三引号来表示。其中,单引号和双引号使用方式相同,均可用于表示单行字符串;而三引号可用于表示多行字符串。

# 单行字符串

str1 = 'Hello, Python!'

str2 = "Hello, World!"

# 多行字符串

str3 = '''

This is a multi-line string.

It can be defined using three single quotes.

'''

str4 = """

This is also a multi-line string.

It can be defined using three double quotes.

"""

1.1 字符串转义字符

字符串中还包含一些特殊字符,例如制表符、换行符、回车符等,需要通过转义字符来表示。常见的转义字符如下:

\n 表示换行符

\t 表示制表符

\r 表示回车符

\\ 表示反斜杠

\' 表示单引号

\" 表示双引号

# 使用转义字符

str5 = 'This is a \n multi-line \n string.'

print(str5)

# 输出

# This is a

# multi-line

# string.

1.2 格式化字符串

Python中还提供了一种字符串的格式化方法,可以将值插入到字符串中。格式化字符串可以使用占位符来表示即将插入的值。常见的占位符如下:

%s 字符串

%d 整数

%f 浮点数

# 使用占位符

str6 = 'My name is %s, I am %d years old.' % ('Tom', 18)

print(str6)

# 输出

# My name is Tom, I am 18 years old.

2. 字符串的操作

2.1 索引与切片

字符串可以通过索引来访问单个字符,也可以使用切片来获取子字符串。在Python中,索引从0开始,最后一个字符的索引为字符串长度减一。

# 索引

str7 = 'Hello, Python!'

print(str7[0]) # 输出 H

print(str7[-1]) # 输出 !

# 切片

print(str7[0:5]) # 输出 Hello

print(str7[7:]) # 输出 Python!

2.2 拼接与重复

Python中的字符串可以使用加号来进行拼接操作,也可以使用乘号(*)来进行重复操作。

# 拼接

str8 = 'Hello, '

str9 = 'Python!'

print(str8 + str9) # 输出 Hello, Python!

# 重复

str10 = 'Hello! ' * 3

print(str10) # 输出 Hello! Hello! Hello!

2.3 查找与替换

可以使用字符串的一些方法来查找子字符串,例如find()、index()、count()方法。其中,find()方法返回子字符串第一次出现的位置,如果未找到则返回-1;index()方法与find()方法相似,但如果未找到则会抛出异常;count()方法返回子字符串在父字符串中出现的次数。

替换操作可以使用replace()方法来实现。该方法会将字符串中的某个子串替换成指定的另一个子串。

# 查找

str11 = 'Hello, Python!'

print(str11.find('Python')) # 输出 7

print(str11.find('Java')) # 输出 -1

print(str11.index('Python')) # 输出 7

print(str11.count('o')) # 输出 2

# 替换

str12 = 'Hello, Python!'

print(str12.replace('Python', 'Java')) # 输出 Hello, Java!

2.4 分隔与连接

Python中的字符串可以使用split()方法来进行分隔操作。该方法会将字符串按照指定的分隔符分割成多个子字符串,并返回一个包含子字符串的列表。可以使用join()方法来进行连接操作。该方法接受一个包含多个字符串的列表,并将其连接成一个字符串。

# 分隔

str13 = 'Hello, Python!'

print(str13.split(' ')) # 输出 ['Hello,', 'Python!']

# 连接

list1 = ['Hello', 'Python']

print(' '.join(list1)) # 输出 Hello Python

3. 字符编码与解码

在计算机中,所有的数据都只能以二进制形式传输和存储。由于文本本身并不是二进制数据,因此需要将文本转换成二进制数据,或将二进制数据转换成文本。Python使用Unicode来表示所有字符串数据。

当需要将文本转换成二进制数据时,需要对字符串进行编码;当需要将二进制数据转换成文本时,需要对二进制数据进行解码。在Python中,常见的编码方式有ASCII、UTF-8和GB2312等。

# 编码

str14 = '你好,世界!'

bytes1 = str14.encode(encoding='UTF-8')

print(bytes1)

# 输出 b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c\xef\xbc\x81'

# 解码

str15 = bytes1.decode(encoding='UTF-8')

print(str15) # 输出 你好,世界!

4. 小结

字符串是Python中的一种基本数据类型,可以使用单引号、双引号和三引号来表示。字符串可以使用索引和切片来进行访问操作,也可以使用加号进行拼接操作,使用乘号进行重复操作。此外,还可以使用一些方法来进行查找、替换、分隔和连接等操作。在进行字符串编码和解码时需要注意字符集的选择。

后端开发标签