字符串是 Python 中使用最频繁的数据类型之一。在你的开发学习或职业生涯中,无论你是数据科学家、软件工程师、DevOps 工程师,还是其他经常与 Python 打交道的岗位,你几乎肯定会以某种方式使用到字符串。熟练掌握字符串的使用是每位立志成为 Python 开发者都必须具备的宝贵技能。
在本文中,你将了解 Python 中的字符串及其多种操作技巧。本文适合具备 Python 编程基础并希望通过探索不同的操作方法来学习字符串及其用法的初学者。
什么是 Python 中的字符串?
在 Python 中,字符串是一种基本数据类型,同时也是 str 类的对象。作为对象,它可以使用 str 类提供的众多方法来进行字符串操作。字符串的构成单元是字符;一个字符串可以包含一个或多个字符(包括空白),并用双引号或单引号括起来。它可以是一个数字或数字序列、一个字母或字母序列,或这些与其他符号的组合。
下面列出字符串的一些关键特性:
// 不可变性 Python 中的字符串是不可变的,这意味着一旦创建就无法更改。当你在 Python 中创建一个字符串时,该对象会占据内存中的一块空间。这个特定对象本身不能被更改;相反,对字符串对象所做的任何修改或处理都会创建一个新的字符串。
请看下面的示例代码:
name = "big"
print(name.upper())
print(name)
输出: BIG big
上面的代码片段表明,即使在变量 name 上调用了 upper() 方法,它自身仍保持不变。
// 有序性 字符串表示有序的字符序列,这使得字符串中的每个字符都有特定的位置或索引。
// 可索引 可以通过索引访问字符串中的字符。Python 的索引从 0 开始,这意味着字符串的第一个字符可以通过索引 0 访问。
// 可迭代性 你可以使用 for 循环遍历字符串中的每个字符,以执行所需的操作。
在 Python 中创建并使用字符串
要在 Python 中创建字符串,请按以下步骤操作:
步骤 1:打开你的 IDE,为本次练习创建一个文件,例如 practice.py。
步骤 2:创建一个变量,并像下面这样把字符串存入其中:
my_string = "Hello world, I just created a string in Python"
print(my_string)
运行程序。就是这么简单——你很可能以前已经这样做过了。
在上面的示例中,我们只是创建了一个字符串,将其存储在变量中并打印出来。然而,我们还能对字符串执行很多其他操作。例如,我们可以编写一个程序,从用户接收输入字符串,对其进行处理,然后打印输出。请参考下面的代码实现。
新建一个名为 practice2.py 的文件,并写入如下代码:
name = input("What is your name: ")
print(f"Welcome {name}, thank you for using our program.")
运行程序后,你应当会看到一个交互式终端。
在上述代码中,我们创建了一个程序,它会询问用户的姓名并返回一条问候消息。用户的姓名被存储在变量 name 中,随后在程序中被处理成为输出消息的一部分。这里使用了 f-string:在引号前加上字母 f,并在引号内把变量 name 放在花括号中。f-string 会对花括号内的表达式求值,因此在运行程序后,name 变量中存储的值会被打印到控制台。
在 Python 中操作字符串
字符串操作是指通过程序对字符串进行更改或修改,以实现特定目的。若能正确使用,字符串操作有很多好处。例如,数据科学家可以用它清洗数据集,软件工程师可以用它处理文本输入。
Python 自带了许多可用于操作字符串的内置方法,部分如下所示。
// 大小写转换 要将字符串变为大写,只需在字符串上调用 upper() 方法,如下所示:
name = "John"
uppercase_name = name.upper()
print(uppercase_name)
输出: JOHN
你也可以通过在变量 uppercase_name 上调用 lower() 方法,将字符串从大写转换为小写。
print(uppercase_name.lower())
输出: john
// 替换子串 当你需要将某个子串替换为其他内容时,可以使用 replace() 方法。它会将现有子串的所有出现位置替换为另一个子串,并返回一个新的字符串。由于字符串是不可变的,因此必须将结果赋值给一个新变量。
text = "Hello strangers"
new_text = text.replace("strangers", "family")
print(new_text)
输出: Hello family
// 拆分字符串 可以使用 split() 并指定分隔符,将字符串拆分为子串列表。
text = "Hello, World"
print(text.split(","))
输出: ['Hello', ' World']
// 连接字符串 split() 方法将字符串拆分为列表,而 join() 方法则使用选定的分隔符把列表元素连接成单个字符串。
words = ["Hello", "World"]
print(" ".join(words))
输出: Hello World
// 统计子串出现次数 count() 方法用于统计某个子串在字符串中出现的次数。
text = "Hello World"
print(text.count("l"))
输出: 3
// 统计字符串长度 可以通过内置的 len() 函数计算字符串的长度。
text = "Hello World"
print(len(text))
输出: 11
// 去除字符串中的空白或指定字符 可以去除字符串开头(前导)和结尾(后缀)的空白。lstrip() 去除前导空白,rstrip() 去除后缀空白,strip() 同时去除两端空白。它们也可用于去除指定的前后导字符。
# 带有额外空格和符号的示例字符串
text = " **Hello World!!** "
# 使用 strip() 去除两端的空格
stripped_text = text.strip()
print(stripped_text)"
# 使用 lstrip() 去除左侧空格
left_stripped_text = text.lstrip()
print(left_stripped_text)
# 使用 rstrip() 去除右侧空格
right_stripped_text = text.rstrip()
print(right_stripped_text)
# 使用 strip() 去除两端的特定字符(*、! 和空格)
custom_stripped_text = text.strip(" *!")
print(custom_stripped_text)
# 使用 lstrip() 去除左侧的特定字符(*、! 和空格)
custom_left_stripped_text = text.lstrip(" *!")
print(custom_left_stripped_text)
# 使用 rstrip() 去除右侧的特定字符(*、! 和空格)
custom_right_stripped_text = text.rstrip(" *!")
print(custom_right_stripped_text)
输出(按执行顺序): "Hello World!!" "Hello World!! " " Hello World!!" "Hello World" "Hello World!!** " " **Hello World"
// 检查大小写 要检查字符串中的所有字符是否为某种大小写,你可以使用 isupper() 或 islower() 方法。这些方法返回布尔值(True 或 False)。
print("HELLO".isupper())
print("hello".islower())
print("HeLLo".islower())
输出: True True False
结论
本文向你介绍了字符串,并解释了如何在 Python 中以编程方式与它们交互。你已经了解了什么是字符串,以及如何使用 Python 提供的一些内置方法来创建、使用和操作字符串。虽然本文没有涵盖所有可用的字符串操作方法,但它已为字符串操作奠定了基本原则。
请自行练习文中的示例以巩固所学。
感谢阅读。
标签:
- Python
- 字符串
- 字符串操作
- Python 基础
- 初学者教程
摘要: 系统介绍 Python 字符串的概念、特性与常用操作,包括创建、输入输出、大小写转换、替换、拆分与连接、计数、长度获取、去除空白及大小写检查,并配以示例代码。