Python 字符串

Python 的字符串既可以使用单引号,也可以使用双引号包围。字符串是不可变的,任何字符串操作返回的都是新字符串。

Python 字符串既可以使用单引号,也可以使用双引号包围。'hello'"hello" 是相同的。

Python 字符串是不可变的,任何字符串操作返回的都是新字符串。

使用 print() 函数输出字符串内容:

print("Hello")
print('Hello')

创建字符串

创建要给变量并赋值一个字符串内容:

a = "Hello"
print(a)

多行字符串

多行字符串可以使用三个双引号或者三个单引号包围起来。

三个双引号:

a = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
print(a)

或三个单引号:

a = '''Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.'''
print(a)

字符串是数组

像许多其他流行的编程语言一样,Python 中的字符串代表的是 unicode 字符的数组。

Python 没有字符数据类型,单个字符只是一个长度为 1 的字符串。

方括号可用于获取访问字符串的指定索引位置的元素。如下:

a = "Hello, World!"
print(a[1]) # 输出 e

遍历字符串

由于字符串是数组,我们可以使用 for 循环遍历字符串中的字符。

循环遍历单词“banana”中的字母:

for x in "banana":
  print(x)

输出:

b
a
n
a
n
a

可转到 Python for 循环一章中了解有关 For 循环的更多信息。

字符串长度

len() 函数返回字符串的长度。

a = "Hello, World!"
print(len(a)) # 输出 13

in 和 not in

要检查字符串中是否存在某个子串或字符,可以使用 in 关键字。

检查以下文本中是否存在 free

txt = "The best things in life are free!"
print("free" in txt)  # 输出 True

if 语句中使用 in 关键字:

txt = "The best things in life are free!"
if "free" in txt:
  print("Yes, 'free' is present.")

可转到 Python if…else章节中了解有关 if 语句的更多信息。

要检查字符串中是否不存在某个子串或字符,我们可以使用 not in 关键字。

txt = "The best things in life are free!"
print("expensive" not in txt) # 输出 False

子串

可以使用切片语法返回一个子串,指定开始索引和结束索引,以冒号分隔,返回字符串的一部分。

获取从位置 2 到位置 5(不包括在内)的字符:

b = "Hello, World!"
print(b[2:5]) # 输出 llo

! 注意: 第一个字符的索引为 0。

省略开始索引,范围将从第一个字符开始:

b = "Hello, World!"
print(b[:5]) # 输出 Hello

省略结束索引,范围将到最后:

b = "Hello, World!"
print(b[2:]) # 输出 llo, World!

使用负索引相对于字符串末尾切片:

b = "Hello, World!"
print(b[-5:-2]) # 输出 orl

! 负索引的含义是倒数第几个字符。

大写

upper() 方法以大写形式返回字符串:

a = "Hello, World!"
print(a.upper()) # 输出 HELLO, WORLD!

小写

lower() 方法以小写形式返回字符串:

a = "Hello, World!"
print(a.lower()) # 输出 hello, world!

删除首尾空格

strip() 方法从开头或结尾删除任何空格:

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

替换字符串

replace() 方法使用指定的内容进行替换:

a = "Hello, World!"
print(a.replace("H", "J")) # 输出 Jello, World!

拆分字符串

split() 方法使用指定分隔符拆分字符串,返回一个列表。

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

可转到 Python 列表一章中了解有关列表的更多信息。

字符串拼接

要拼接或组合两个字符串,您可以使用 + 运算符。

a = "Hello"
b = "World"
c = a + b
print(c) # 输出 HelloWorld

要在它们之间添加空格,请添加 " "

a = "Hello"
b = "World"
c = a + " " + b
print(c) # 输出 Hello World

对于一些复杂的情况,字符串拼接可能并不是好的解决方案,而字符串格式化则提供了一个更好的方案。

转义字符

转义字符 \ 用来对一些特殊字符进行转义,比如用双引号包围的字符串中也包含了双引号时。

使用 \" 转义字符双引号:

txt = "We are the so-called \"Vikings\" from the north."

Python 中常用的转义字符:

Code Result
\' 单引号
\\ 反斜杠
\n 换行符
\r 回车符
\t 制表符
\b 空格
\f 换页符
\ooo 八进制
\xhh 十六进制