学Python的漫画漫步进阶 -- 第七步
- 七、字符串
- 7.1 字符串的表示方式
- 7.1.1 普通字符串
- 7.1.2 原始字符串
- 7.1.3 长字符串
- 7.2 字符串与数字的相互转换
- 7.2.1 将字符串转换为数字
- 7.2.2 将数字转换为字符串
- 7.3 格式化字符串
- 7.3.1 使用占位符
- 7.3.2 格式化控制符
- 7.4 操作字符串
- 7.4.1 字符串查找
- 7.4.2 字符串替换
- 7.4.3 字符串分割
- 7.5 动动手——统计英文文章中单词出现的频率
- 7.6 练一练
- 7.7 字符串的总结
七、字符串
上一章介绍了列表、元组和字符串等数据类型。本章详细介绍字符串。
7.1 字符串的表示方式
字符串有三种表示方式:普通字符串、原始字符串和长字符串。
7.1.1 普通字符串
我们在Python Shell中运行代码,看看运行结果怎样:
普通字符串指用单引号(')或双引号(")括起来的字符串。
常用的转义符如下:
我们在Python Shell中运行代码,看看运行结果怎样:
7.1.2 原始字符串
我们在Python Shell中运行代码,看看运行结果怎样:
7.1.3 长字符串
如果要使用字符串表示一篇文章,其中包含了换行、缩进等排版字符,则可以使用长字符串表示。对于长字符串,要使用三个单引号(‘’')或三个双引号(""")括起来。
长字符串
或
我们在Python Shell中运行代码,看看运行结果怎样:
7.2 字符串与数字的相互转换
7.2.1 将字符串转换为数字
将字符串转换为数字,可以使用int()和float()实现,如果成功则返回数字,否则引发异常。
我们在Python Shell中运行代码,看看运行结果怎样:
"80.0"无法被转换为整数
在默认情况下,int()函数都将字符串参数当作十进制数字进行转
换,所以int(‘AB’)会失败。int()函数也可以指定基数(进制)。
7.2.2 将数字转换为字符串
将数字转换为字符串,可以使用str()函数,str()函数可以将很多类型的数据都转换为字符串。
我们在Python Shell中运行代码,看看运行结果怎样:
7.3 格式化字符串
7.3.1 使用占位符
要想将表达式的计算结果插入字符串中,则需要用到占位符。对于占位符,使用一对大括号({})表示。
我们在Python Shell中运行代码,看看运行结果怎样:
默认占位符
参数序号占位符
参数名占位符
7.3.2 格式化控制符
在占位符中还可以有格式化控制符,对字符串的格式进行更加精准的控制。
字符串的格式化控制符及其说明如下表所示。
格式化控制符位于占位符索引或占位符名字的后面,之间用冒号分隔,语法:{参数序号:格式控制符}或{参数名:格式控制符}。
我们在Python Shell中运行代码,看看运行结果怎样:
7.4 操作字符串
字符串类为我们提供了丰富的方法来操作字符串。
7.4.1 字符串查找
字符串的find()方法用于查找子字符串。该方法的语法为str.find(sub[,start[,end]]),表示:在索引start到end之间查找子字符串sub,如果找到,则返回最左端位置的索引;如果没有找到,则返回-1。
我们在Python Shell中运行代码,看看运行结果怎样:
7.4.2 字符串替换
若想进行字符串替换,则可以使用replace()方法替换匹配的子字符串,返回值是替换之后的字符串。该方法的语法为str.replace(old,new[,count]),表示:用new子字符串替换old子字符串。count参数指定了替换old子字符串的个数,如果count被省略,则替换所有old子字符
串。
我们在Python Shell中运行代码,看看运行结果怎样:
7.4.3 字符串分割
若想进行字符串分割,则可以使用split()方法,按照子字符串来分割字符串,返回字符串列表对象。该方法的语法为str.split(sep=None,maxsplit=-1),表示:使用sep子字符串分割字符串str。maxsplit是最大分割次数,如果maxsplit被省略,则表示不限制分割次数。
我们在Python Shell中运行代码,看看运行结果怎样:
7.5 动动手——统计英文文章中单词出现的频率
通过Python指令运行文件:
7.6 练一练
1 设有变量s=‘Pyhon’,则"{0:3}".format(s)表达式的输出结果是()。
A.‘hon’ B.‘Pyhon’ C.‘PYTHON’ D.‘PYT’
2 设有变量赋值s="Hello World",则以下选项中可以输出"World"子字符串的是()。
A.print(s[-5:-1]) B.print(s[-5:0]) C.print(s[-4:-1]) D.print(s[-5:])
3 在以下选项中可以倒置"World"字符串的是()。
A."World"[::-1] B."World"[::] C."World"[0::-1] D."World"[-1::-1]
4 判断对错(请在括号内打√或×,√表示正确,×表示错误):。
1)原始字符串是在普通字符串前加r,使用它的优势是:在字符串中特殊字符不需要被转义。()
2)长字符串是,使用三个单引号(‘’')或三个双引号(""")括起来的字符串,使用它的优势是:在字符串中特殊字符不需要被转义。()
3)将字符串转换为数字,可以使用int()和float()函数实现。()
4)将数字转换为字符串,可以使用str()函数实现。()
7.7 字符串的总结
在Python中,字符串是非常重要的一种数据类型。以下是对Python中字符串的一些总结:
- 不可变性:Python中的字符串是不可变的,也就是说,一旦创建了一个字符串,就不能更改它的内容。如果尝试修改字符串,那么Python会创建一个新的字符串。
- 字面量:字符串可以通过使用引号(单引号或双引号)来表示。例如:
s = 'hello'
或s = "hello"
。反斜杠可以用来转义特殊字符,例如换行符\n
或制表符\t
。 - 字符串拼接:可以使用加号
+
来拼接两个字符串。例如:s = 'hello' + 'world'
。 - 格式化:Python提供了多种格式化字符串的方式,包括
%
运算符、str.format()
方法和f-string(在Python 3.6及以后的版本中引入)。 - 索引和切片:字符串是可索引的,可以通过使用方括号和索引号来访问字符串中的单个字符。例如:
s = 'hello'; print(s[1])
将输出e
。还可以使用切片来访问字符串的一部分。例如:s = 'hello'; print(s[1:4])
将输出ell
。 - 方法:Python的字符串类(str)有很多方法,可以用来处理字符串。例如,
str.lower()
将字符串转换为小写,str.upper()
将字符串转换为大写,str.split()
将字符串分割为子串,等等。 - 编码:Python的字符串是Unicode字符串,这意味着它们可以包含任何Unicode字符。但是,当需要将字符串写入文件或发送到网络时,可能需要将其转换为字节串(使用某种编码,如UTF-8)。
- 多行字符串:Python允许使用三引号(单引号或双引号)来创建多行字符串。例如:
s = '''This is a multi-line string.'''
- 在内存中的存储:由于Python的字符串是不可变的,所以它们在内存中以一种非常高效的方式存储,这使得它们在许多情况下都表现得非常好。
以上就是对Python中字符串的一些主要特性的总结。