MEMOO
MEMOO
Published on 2025-04-17 / 9 Visits
0
0

Python字符串类型

摘要:在本节中,你将学习 Python 字符串及其基本操作。

Python字符串简介

字符串是一系列字符。在 Python 中,引号内的任何内容都是字符串。你可以使用单引号或双引号。例如:

message = 'This is a string in Python'

message = "This is also a string"

如果字符串中包含单引号,你应该将其放在双引号中,像这样:

message = "It's a string"

并且当字符串中包含双引号时,你可以使用单引号:

message = '"Beautiful is better than ugly.". Said Tim Peters'

要转义引号,你可以使用反斜杠 \)。例如:

message = 'It\'s also a valid string'

Python 解释器会对反斜杠字符 \) 进行特殊处理。如果你不希望它这样做,可以通过在第一个引号前添加字母 r 来使用原始字符串。例如:

message = r'C:\python\bin'

创建多行字符串

要使字符串跨越多行,你可以使用三引号 """..."""'''...'''。例如:

help_message = '''

Usage: mysql command

    -h hostname     

    -d database name

    -u username

    -p password 

'''

print(help_message)

如果你执行这个程序,它会输出以下内容:

Usage: mysql command

    -h hostname

    -d database name

    -u username

    -p password

### 在 Python 字符串中使用变量(f-string)

有时,你希望在字符串中使用变量的值。

例如,你可能希望在 message 字符串变量中使用 name 变量的值:

name = 'John'

message = 'Hi'

要实现这一点,你可以在引号的开头前放置字母 f,并将变量名用大括号括起来:

name = 'John'

message = f'Hi {name}'

print(message)

Python 会将 {name} 替换为 name 变量的值。代码将在屏幕上显示以下内容:

Hi John

message 是一个格式化字符串,简称为 f-字符串(f-string)。Python 在 3.6 版本中引入了 f-字符串。

拼接(连接)字符串

当你将字符串字面量(字符串文字)彼此相邻放置时,Python 会自动将它们连接成一个字符串。例如:

greeting = 'Good ' 'Morning!'

print(greeting)

输出:

Good Morning!

要连接(拼接)两个字符串变量,你使用 + 运算符:

greeting = 'Good '

time = 'Afternoon'

greeting = greeting + time + '!'

print(greeting)

输出:

Good Afternoon!

访问字符串元素

由于字符串是字符的序列,因此你可以使用索引来访问其元素。字符串中的第一个字符的索引为零。

以下示例展示了如何使用索引来访问元素:

str = "Python String"

print(str[0]) # P

print(str[1]) # y

它的工作原理如下:

  • 首先,创建一个变量来存储字符串 "Python String"

  • 然后,使用方括号 [] 和索引来访问字符串的第一个和第二个字符。

如果使用负索引,Python 会从字符串的末尾开始返回字符。例如:

str = "Python String"

print(str[-1])  # g

print(str[-2])  # n

以下展示了字符串 "Python String" 的索引:

+---+---+---+---+---+---+---+---+---+---+---+---+---+

| P | y | t | h | o | n |   | S | t | r | i | n | g | 

+---+---+---+---+---+---+---+---+---+---+---+---+---+

  0   1   2   3   4   5   6   7   8   9   10  11  12

-13  -12  -11  -10 -9  -8  -7  -6  -5  -4  -3  -2  -1 

获取字符串长度

要获取字符串的长度,你可以使用 len() 函数。例如:

str = "Python String"

str_len = len(str)

print(str_len)

输出:

13

字符串切片

切片(Slicing)允许你从字符串中获取一个子字符串。例如:

str = "Python String"

print(str[0:2])

输出:

Py

str[0:2] 返回一个子字符串,该子字符串包含从索引 0(包含)到 2(不包含)的字符。

切片的语法如下:

string[start:end]

子字符串总是包含起始位置的字符start),并排除结束位置end)的字符。

起始位置start)和结束位置end)是可选的。如果你省略起始位置,它默认为零。如果你省略结束位置,它默认为字符串的长度。

Python 字符串是不可变的

Python 字符串是不可变的。这意味着你无法更改字符串。例如,如果你尝试更新字符串中的一个或多个字符,将会引发错误:

str = "Python String"
str[0] = 'J'

错误:

Traceback (most recent call last):

  File "app.py", line 2, in <module>

    str[0] = 'J'

TypeError: 'str' object does not support item assignment</module>

当想要修改一个字符串时,你需要从现有字符串创建一个新的字符串。例如:

str = "Python String"

new_str = 'J' + str[1:]

print(new_str)

输出:

Jython String

字符串格式化(f-string)

f-string(格式化字符串字面量)允许你在字符串字面量中嵌入变量和表达式。例如:

name = 'Anthony'

message = f'Hello, {name}!'

print(message)

输出:

Hello, Anthony!

在这个示例中:

  • 首先,使用字母 f 来表示字符串字面量是一个 f-string f'')。

  • 其次,将变量放在大括号 {name} 内。

在评估 f-string时,Python 会将变量占位符 {name} 替换为其值Anthony)。这也被称为字符串插值。

你将在 f-string教程中了解有关 f-string的更多详细信息。

总结

  • 在 Python 中,字符串是一系列字符。此外,Python 字符串是不可变的。

  • 使用引号(单引号或双引号)来创建字符串字面量。

  • 使用反斜杠字符 \ 来转义字符串中的引号。

  • 使用原始字符串 r'...' 来转义反斜杠字符。

  • 使用 f-字符串在字符串字面量中插入替换变量。

  • 将字符串字面量彼此相邻放置以连接它们。并使用 + 运算符连接字符串变量。

  • 使用 len() 函数获取字符串的大小。

  • 使用 str[n] 访问字符串 str 中位置 n 的字符。

  • 使用切片从字符串中提取子字符串。

  • 使用 f-string在字符串字面量中嵌入变量。


Comment