logo

该视频仅会员有权观看

立即开通课程「Python 入门」权限。

¥
199
/ 年

前面其实我们已经使用了很多字符串,字符串是 Python 中最常用的数据类型之一,用于表示文本数据,可以包含字母、数字、符号等。字符串是不可变的,一旦创建就不能修改,但可以通过切片、拼接等操作生成新的字符串。由于字符串在 Python 中使用非常频繁,所以 Python 提供了丰富的字符串处理方法和函数,接下来我们就来看看字符串的基本操作和常用方法。

# 单引号字符串 str1 = 'Hello, World!' # 双引号字符串 str2 = "Python is fun!" # 三引号字符串(可以跨越多行) str3 = """This is a multi-line string."""

在 Python 中我们可以使用单引号、双引号和三引号来表示字符串,其中单引号和双引号没有区别,三引号字符串可以跨越多行,适合表示多行文本。

因为字符串是不可变的,所以不能直接修改字符串的某个字符。

str1 = "Hello" try: str1[0] = "h" except TypeError as e: print(f"错误: {e}")

尝试修改字符串的单个字符会导致 TypeError,因为字符串是不可变的。

此外字符串支持多种基本操作,如拼接、索引、切片等。

字符串支持多种基本操作,如拼接、索引、切片等。

字符串拼接

str1 = "Hello" str2 = "World" str3 = str1 + ", " + str2 + "!" print(str3) # 输出: Hello, World!

使用 + 号可以将多个字符串拼接在一起,形成一个新的字符串,但是使用 + 号拼接多个字符串时,会创建多个临时字符串,效率较低,可以使用 join() 方法进行优化。

# 使用列表和 join 方法拼接大量字符串,避免使用 + words = ["Python", "is", "fun"] result = " ".join(words) print(result) # 输出: Python is fun

拼接大量字符串时,使用 + 号会导致性能问题,推荐使用 join 方法。join() 方法会将列表中的元素连接成一个字符串,元素之间用指定的分隔符隔开。如果只是格式化输出,可以使用 f-Strings

name = "Alice" age = 25 str1 = f"My name is {name} and I am {age} years old." print(str1) # 输出: My name is Alice and I am 25 years old.

字符串索引

str1 = "Python" print(str1[0]) # 输出: P print(str1[1]) # 输出: y

字符串和列表类似,字符串中的每个字符都有一个索引,从 0 开始,可以通过索引访问单个字符。

字符串切片

str1 = "Hello, World!" print(str1[0:5]) # 输出: Hello print(str1[7:12]) # 输出: World

由于字符串是不可变的,所以不能直接修改字符串的某个字符,但可以通过切片操作获取字符串的子串。格式为 str[start:end],包含 start 索引,不包含 end 索引。

upper()lower()

str1 = "Hello, World!" print(str1.upper()) # 输出: HELLO, WORLD! print(str1.lower()) # 输出: hello, world!

upper() 方法将字符串转换为大写,lower() 方法将字符串转换为小写。

strip()

str1 = " Hello, World! " print(str1.strip()) # 输出: Hello, World!

解释strip() 方法去除字符串两端的空白字符。

split()

str1 = "apple,banana,cherry" print(str1.split(',')) # 输出: ['apple', 'banana', 'cherry']

split() 方法根据指定的分隔符将字符串分割成列表。

replace()

str1 = "Hello, World!" print(str1.replace("World", "Python")) # 输出: Hello, Python!

replace() 方法替换字符串中的指定子串,返回替换后的新字符串,传递两个参数,第一个参数是要替换的子串,第二个参数是替换后的子串。

find()index()

str1 = "Hello, World!" print(str1.find("World")) # 输出: 7 print(str1.index("World")) # 输出: 7

find()index() 方法都用于查找字符串中的子串,返回子串的索引,不同的是 find() 方法在查找失败时返回 -1,而 index() 方法在查找失败时会抛出异常。

除了上面介绍的方法外,字符串还有很多其他方法,如 startswith()endswith()count()isalpha()isdigit() 等,可以根据实际需求选择合适的方法,帮助我们更好地处理字符串。