目录

  • 1 字符串的定义
  • 2 转义字符
  • 3 字符串的常见方法
  • 4 分割字符串
  • 5 字符串反转
  • 6 字符串的链式调用
  • 7 格式化字符串
  • 8 多行字符串
  • 总结

1 字符串的定义

在Python中,字符串表示一个字符的序列,比如

str = "hello,world"

这里我们定义了一个字符串,其中每个字符共同构成了字符串,既然是序列,我们可以计算字符串的长度。

先顺序数一下有多少个字符,一共是11个字符

在我们的REPL环境中,我们用len函数来计算字符串的长度

len(str)


在字符串中,每个字符都有一个索引(Index),从0开始。可以使用索引来访问字符串中的特定字符。例如:

str[3]

因为索引是从0开始,如果取索引为3的其实是取的第四个位置的字符,在这里是l,如果我们取索引为4的字符就取出了o

2 转义字符

在Python中,字符串中的转义(Escape)是指使用特殊字符来表示特殊含义的字符。例如,在字符串中使用反斜杠(\)来表示换行符、制表符、双引号等特殊字符。以下是一些常见的字符串转义字符:

  • \n 换行符
  • \t 制表符
  • \ ” 双引号
  • \ ’ 单引号
  • \ \ 反斜杠

下边是一个转义字符的示例

str = "Hello,\nWorld!\tPython is fun!"print(s)


这里需要注意的是,如果要让转义字符执行,需要用双引号包裹,再一个结果输出需要使用print函数

3 字符串的常见方法

Python提供了字符串的便利API供我们使用,包含如下:

  1. len(str):返回字符串的长度。
  2. str.upper():返回一个新的字符串,其中所有字符都转换为大写。
  3. str.lower():返回一个新的字符串,其中所有字符都转换为小写。
  4. str.capitalize():返回一个新的字符串,其中第一个字符转换为大写,其余字符转换为小写。
  5. str.title():返回一个新的字符串,其中每个单词的第一个字符都转换为大写,其余字符转换为小写。
  6. str.strip():返回一个新的字符串,其中去除了字符串两端的空格。
  7. str.lstrip():返回一个新的字符串,其中去除了字符串左侧的空格。
  8. str.rstrip():返回一个新的字符串,其中去除了字符串右侧的空格。
  9. str.split():返回一个列表,其中包含字符串按照空格分割的子字符串。
  10. str.split(sep):返回一个列表,其中包含字符串按照指定分隔符 sep 分割的子字符串。
  11. str.join(iterable):返回一个新的字符串,其中包含 iterable 中的所有元素,元素之间用字符串 str 连接。
  12. str.replace(old, new):返回一个新的字符串,其中将字符串中的 old 替换为 new
  13. str.find(sub):返回字符串中子字符串 sub 第一次出现的索引,如果不存在则返回 -1。
  14. str.count(sub):返回字符串中子字符串 sub 出现的次数。
  15. str.startswith(prefix):检查字符串是否以 prefix 开头,返回布尔值。
  16. str.endswith(suffix):检查字符串是否以 suffix 结尾,返回布尔值。

4 分割字符串

可以使用split来分割字符串,默认是使用空格来进行分割字符串

s = "Hello, World!"substrings = s.split()print(substrings)# 输出:['Hello,', 'World!']


除了按照空格来分割外,我们还可以指定分割字符,比如使用逗号进行分割

s = "Hello,World!"substrings = s.split(",")print(substrings)# 输出:['Hello', 'World!']


除了上述两种分法外,我们还可以有二分法,二分法返回分隔符前边的字符串,分隔符本身,和分隔符右边的字符串

s = "Hello, World!"first, separator, last = s.partition(',')print(first)# 输出:Helloprint(separator)# 输出:,print(last)# 输出:World!

5 字符串反转

在 Python 中,可以通过切片语法来实现字符串的反转。具体地,可以使用负数步长来实现字符串的反转。例如,对于一个字符串 s,可以使用以下代码实现其反转:

s = "Hello, World!"reversed_s = s[::-1]print(reversed_s)# 输出:!dlroW ,olleH

6 字符串的链式调用

在 Python 中,字符串是不可变对象,这意味着字符串的方法不会修改原字符串,而是返回一个新的字符串。因此,可以使用链式调用来对字符串进行多次操作,而不需要使用临时变量或者多次赋值。

s="Hello,World!"s.replace("World!","Python!").upper()

7 格式化字符串

Python 中的 f-string(格式化字符串)是一种非常方便的字符串格式化方法,它允许在字符串中嵌入表达式,并在字符串中直接使用大括号 {} 来指定表达式的值应该如何格式化。

下面是一些常见的 f-string 用法:

  1. 插入变量值:
name = "Alice"age = 25print(f"My name is {name} and I am {age} years old.")# 输出:My name is Alice and I am 25 years old.

  1. 插入表达式:
x = 3y = 4print(f"The sum of {x} and {y} is {x + y}.")# 输出:The sum of 3 and 4 is 7.

  1. 指定格式化字符串:
x = 3.141592653589793print(f"The value of pi is {x:.2f}.")# 输出:The value of pi is 3.14.

  1. 使用条件表达式:
x = 10y = 20print(f"{x} is greater than {y}" if x > y else f"{y} is greater than {x}")# 输出:20 is greater than 10

8 多行字符串

在 Python 中,可以使用三引号(“”” 或 ‘’’)来创建多行字符串。多行字符串可以包含换行符、制表符等特殊字符,并且可以在字符串中直接编写多行文本,而不需要使用换行符来表示换行。

下面是一个使用三引号创建多行字符串的例子:

multiline_string = """This is amultiline string.It contains multiple linesof text."""print(multiline_string)

总结

我们本篇介绍了字符串的定义,常见方法调用,以及格式化字符串和多行字符串的概念。熟练掌握语法,在我们实际的编程中就多添了不少思路,也节省了大量的时间。