文章目录
4.1 字符串介绍
字符串是一种用来表示文本
的数据类型,它是由符号
或者数值
组成的一个连续序列
。
Python支持使用单引号
、双引号
和三引号
定义字符串,其中单引号和双引号通常用于定义单行字符串
,三引号通常用于定义多行字符串
。
Python使用反斜杠“\
”转义。例如,在字符串中的引号前添加“\
”,此时Python解释器会将“\
”之后的引号视为解释为一个普通字符,而非特殊符号。
print('let\'s learn Python')
运行结果:
let's learn Python
一些普通字符与反斜杠组合后将失去原有意义,产生新的含义。类似这样的由“\
”和而成的、具有特殊意义的字符就是转义字符。转移字符通常用于表示一些无法显示的字符,例如空格、回车等等。
4.2 格式化字符串
4.2.1 使用%格式化字符串
格式化字符串是指将指定的字符串转换为想要的格式。Python字符串可通过%
格式符格式化输出。
format % values
不同的占位符为不同类型的变量预留位置,常见的占位符如下所示。
4.2.2 使用format()方法格式化字符串
虽然使用%可以对字符串进行格式化,但是这种方式并不是很直观,一旦开发人员遗漏了替换数据或选择了不匹配的格式符,就会导致字符串格式化失败。为了能更直观、便捷地
格式化字符串·,Python为字符串提供了一个格式化方法format()
。
str.format(values)
4.2.3 使用f-string格式化字符串
f-string提供了一种更为简洁的格式化字符串的方式,它在形式上以f或F引领字符串,在字符串中使用“{变量名}”标明被替换的真实数据和其所在位置。
f('{变量名}') 或F('{变量名}')
4.3 精彩实例
4.3.1 进制转换
十进制是实际应用中最常使用的计数方式,除此之外,还可以采用二进制
、八进制
或十六进制
计数。
本实例要求编写代码,实现将用户输入的十进制
整数转换为指定进制
的功能。
4.3.2 文本进度条
进度条一般以图形的方式显示已完成任务量和未完成任务量,并以动态文字的方式显示任务的完成度。
本实例要求编写程序,实现如图所示的文本进度条。
4.4 字符串的常见操作
4.4.1 字符串的查找与替换
Python中提供了实现字符串查找操作的find()
方法,该方法可查找字符串
中是否包含子串
,若包含则返回子串首次出现的位置,否则返回-1。
str.find(sub[, start[, end]])
sub
:指定要查找的子串。
start
:开始索引,默认为0。
end
:结束索引,默认为字符串的长度。
word = 't'
string = 'Python'
result = string.find(word)
print(result)
运行结果:
2
Python中提供了实现字符串替换操作的replace()
方法,该方法可将当前字符串中的指定子串
替换成新的子串
,并返回替换后的新字符串
。
str.replace(old, new[, count])
old
:被替换的旧子串。
new
:替换旧子串的新子串。
count
:表示替换旧字符串的次数,默认全部替换。
string = 'He said, "you have to go forward, ' \
'Then turn left, Then go forward, and Then turn right."'
# 指定替换两次
new_string = string.replace("Then", "then",2)
print(new_string)
运行结果:
He said, "you have to go forward, then turn left,
then go forward, and Then turn right."
4.4.2 字符串的分隔与拼接
split()
方法可以按照指定分隔符对字符串进行分割,该方法会返回由分割后的子串组成的列表。
str.split(sep=None, maxsplit=-1)
sep
:分隔符,默认为空字符。
maxsplit
:分割次数,默认值为-1,表示不限制分割次数。
string= "Hello, my name is Wang Hong"
# 以空格作为分割符,并分割2次
print(string.split(' ', 2))
运行结果:
['Hello,', 'my', 'name is Wang Hong']
join()
方法使用指定的字符连接字符串并生成一个新的字符串。join()
方法的语法格式如下。
str.join(iterable)
iterable:表示连接字符串的字符
symbol = '*'
world = 'Python'
print(symbol.join(world))
运行结果:
P*y*t*h*o*n
Python还可以使用运算符“+
”拼接字符串。
4.4.3 删除字符串的指定字符
字符串中可能会包含一些无用的字符(如空格),在处理字符串之前往往需要先删除这些无用的字符。Python中的strip()
、lstrip()
和rstrip()
方法可以删除字符串中的指定字符。
4.4.4 删除字符串的指定字符
在特定情况下会对英文单词的大小写形式进行要求,表示特殊简称时全字母大写,如CBA;表示月份、周日、节假日时每个单词首字母大写,如Monday。Python中支持字母大小写转换的方法有upper()
、lower()
、capitalize()
和title()
。
4.4.5 字符串对齐
在使用Word处理文档时可能需要对文档的格式进行调整,如标题居中显示、左对齐、右对齐等。Python提供了center()
、ljust()
、rjust()
这3个方法来设置字符串的对齐方式。
4.5 精彩实例
4.5.1 过滤敏感词
敏感词通常是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明的词语,对于文章中出现的敏感词常用的处理方法是使用特殊符号(如“*”)对敏感词进行替换。本实例要求编写代码,实现具有过滤敏感词功能的程序。
4.5.2 文字排版工具
文字排版工具是一款强大的文章自动排版工具,它会将文字按现代汉语习惯及发表出版要求进行规范编排。文字排版工具一般具备删除空格、英文标点替换、英文单词大写功能,本实例要求编写代码,实现具有上述功能的文字排版工具。
4.6 本章小结
本章主要讲解了Python字符串的相关知识,包括什么是字符串
、格式化字符串
、字符串的常见操作
,并结合精彩实例演示了字符串的使用。