目录
- [1 字符串的定义](#1 字符串的定义)
- [2 转义字符](#2 转义字符)
- [3 字符串的常见方法](#3 字符串的常见方法)
- [4 分割字符串](#4 分割字符串)
- [5 字符串反转](#5 字符串反转)
- [6 字符串的链式调用](#6 字符串的链式调用)
- [7 格式化字符串](#7 格式化字符串)
- [8 多行字符串](#8 多行字符串)
- 总结
1 字符串的定义
在Python中,字符串表示一个字符的序列,比如
python
str = "hello,world"
这里我们定义了一个字符串,其中每个字符共同构成了字符串,既然是序列,我们可以计算字符串的长度。
先顺序数一下有多少个字符,一共是11个字符
在我们的REPL环境中,我们用len函数来计算字符串的长度
python
len(str)
在字符串中,每个字符都有一个索引(Index),从0开始。可以使用索引来访问字符串中的特定字符。例如:
python
str[3]
因为索引是从0开始,如果取索引为3的其实是取的第四个位置的字符,在这里是l,如果我们取索引为4的字符就取出了o
2 转义字符
在Python中,字符串中的转义(Escape)是指使用特殊字符来表示特殊含义的字符。例如,在字符串中使用反斜杠(\)来表示换行符、制表符、双引号等特殊字符。以下是一些常见的字符串转义字符:
- \n 换行符
- \t 制表符
- \ " 双引号
- \ ' 单引号
- \ \ 反斜杠
下边是一个转义字符的示例
python
str = "Hello,\nWorld!\tPython is fun!"
print(s)
这里需要注意的是,如果要让转义字符执行,需要用双引号包裹,再一个结果输出需要使用print函数
3 字符串的常见方法
Python提供了字符串的便利API供我们使用,包含如下:
len(str)
:返回字符串的长度。str.upper()
:返回一个新的字符串,其中所有字符都转换为大写。str.lower()
:返回一个新的字符串,其中所有字符都转换为小写。str.capitalize()
:返回一个新的字符串,其中第一个字符转换为大写,其余字符转换为小写。str.title()
:返回一个新的字符串,其中每个单词的第一个字符都转换为大写,其余字符转换为小写。str.strip()
:返回一个新的字符串,其中去除了字符串两端的空格。str.lstrip()
:返回一个新的字符串,其中去除了字符串左侧的空格。str.rstrip()
:返回一个新的字符串,其中去除了字符串右侧的空格。str.split()
:返回一个列表,其中包含字符串按照空格分割的子字符串。str.split(sep)
:返回一个列表,其中包含字符串按照指定分隔符sep
分割的子字符串。str.join(iterable)
:返回一个新的字符串,其中包含iterable
中的所有元素,元素之间用字符串str
连接。str.replace(old, new)
:返回一个新的字符串,其中将字符串中的old
替换为new
。str.find(sub)
:返回字符串中子字符串sub
第一次出现的索引,如果不存在则返回 -1。str.count(sub)
:返回字符串中子字符串sub
出现的次数。str.startswith(prefix)
:检查字符串是否以prefix
开头,返回布尔值。str.endswith(suffix)
:检查字符串是否以suffix
结尾,返回布尔值。
4 分割字符串
可以使用split来分割字符串,默认是使用空格来进行分割字符串
python
s = "Hello, World!"
substrings = s.split()
print(substrings) # 输出:['Hello,', 'World!']
除了按照空格来分割外,我们还可以指定分割字符,比如使用逗号进行分割
python
s = "Hello,World!"
substrings = s.split(",")
print(substrings) # 输出:['Hello', 'World!']
除了上述两种分法外,我们还可以有二分法,二分法返回分隔符前边的字符串,分隔符本身,和分隔符右边的字符串
python
s = "Hello, World!"
first, separator, last = s.partition(',')
print(first) # 输出:Hello
print(separator) # 输出:,
print(last) # 输出:World!
5 字符串反转
在 Python 中,可以通过切片语法来实现字符串的反转。具体地,可以使用负数步长来实现字符串的反转。例如,对于一个字符串 s,可以使用以下代码实现其反转:
python
s = "Hello, World!"
reversed_s = s[::-1]
print(reversed_s) # 输出:!dlroW ,olleH
6 字符串的链式调用
在 Python 中,字符串是不可变对象,这意味着字符串的方法不会修改原字符串,而是返回一个新的字符串。因此,可以使用链式调用来对字符串进行多次操作,而不需要使用临时变量或者多次赋值。
python
s="Hello,World!"
s.replace("World!","Python!").upper()
7 格式化字符串
Python 中的 f-string(格式化字符串)是一种非常方便的字符串格式化方法,它允许在字符串中嵌入表达式,并在字符串中直接使用大括号 {} 来指定表达式的值应该如何格式化。
下面是一些常见的 f-string 用法:
- 插入变量值:
python
name = "Alice"
age = 25
print(f"My name is {name} and I am {age} years old.")
# 输出:My name is Alice and I am 25 years old.
- 插入表达式:
python
x = 3
y = 4
print(f"The sum of {x} and {y} is {x + y}.")
# 输出:The sum of 3 and 4 is 7.
- 指定格式化字符串:
python
x = 3.141592653589793
print(f"The value of pi is {x:.2f}.")
# 输出:The value of pi is 3.14.
- 使用条件表达式:
python
x = 10
y = 20
print(f"{x} is greater than {y}" if x > y else f"{y} is greater than {x}")
# 输出:20 is greater than 10
8 多行字符串
在 Python 中,可以使用三引号(""" 或 ''')来创建多行字符串。多行字符串可以包含换行符、制表符等特殊字符,并且可以在字符串中直接编写多行文本,而不需要使用换行符来表示换行。
下面是一个使用三引号创建多行字符串的例子:
python
multiline_string = """This is a
multiline string.
It contains multiple lines
of text."""
print(multiline_string)
总结
我们本篇介绍了字符串的定义,常见方法调用,以及格式化字符串和多行字符串的概念。熟练掌握语法,在我们实际的编程中就多添了不少思路,也节省了大量的时间。