学习目标:
1、掌握 字符串的定义格式。
2、掌握 字符串格式化。
3、熟悉字符串的常见操作。
4.1字符串介绍
字符串是一种用来表示文本的数据类型,它是由符号或者数值组成的一个连续序列。
Python支持使用单引号、双引号和三引号定义字符串,其中单引号和双引号通常用于定义单行字符串,三引号通常用于定义多行字符串。
使用单引号:
'hello itcast'
使用双引号:
"hello itcast"
使用三引号:
"""my name is itcast
my name is itcast"""
Python使用反斜杠“\”转义。例如,在字符串中的引号前添加“\”,此时Python解释器会将“\”之后的引号视为解释为一个普通字符,而非特殊符号。
反斜杠“\”示例如下:
print('let\'s learn Python')
结果:
let's learn Python
转义字符:一些普通字符与反斜杠组合后将失去原有意义,产生新的含义。类似这样的由“\”和而成的、具有特殊意义的字符就是转义字符。转移字符通常用于表示一些无法显示的字符,例如空格、回车等等。
4.2格式化字符串
4.2.1 使用%格式化字符串
格式化字符串是指将指定的字符串转换为想要的格式。Python字符串可通过%格式符格式化输出。
不同的占位符为不同类型的变量预留位置,常见的占位符如下所示。
age=22
print("我今年%d岁"%age)
print("他大笑:%s"%'hhhhhhhhh')
结果:
我今年22岁
他大笑:hhhhhhhhh
4.2.2 使用format()方法格式化字符串
虽然使用%可以对字符串进行格式化,但是这种方式并不是很直观,一旦开发人员遗漏了替换数据或选择了不匹配的格式符,就会导致字符串格式化失败。为了能更直观、便捷地格式化字符串,Python为字符串提供了一个格式化方法format()。
format%values示例如下:
c=20
print('c的值是{}'.format(c))
结果:
c的值是20
4.2.3 使用f-string格式化字符串
f-string提供了一种更为简洁的格式化字符串的方式,它在形式上以f或F引领字符串,在字符串中使用“{变量名}”标明被替换的真实数据和其所在位置。
f-string示例如下:
name = 'yang'
print(f'Hello, my name is {name}')
number = 7
print(f'My lucky number is {number}')
price = 19.99
print(f'The price of this book is {price}')
结果:
Hello, my name is yang
My lucky number is 7
The price of this book is 19.99
4.3字符串的常见操作
4.3.1字符串的查找与替换
Python中提供了实现字符串查找操作的find()方法,该方法可查找字符串中是否包含子串,若包含则返回子串首次出现的位置,否则返回-1。
格式:
str.find(sub[, start[, end]])
示例如下:
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.3.2 字符串的分隔与拼接
split()方法
可以按照指定分隔符对字符串进行分割,该方法会返回由分割后的子串组成的列表。
格式:
str.split(sep=None, 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)
示例如下:
symbol = '*'
world = 'Python'
print(symbol.join(world))
结果:
P*y*t*h*o*n
拼接字符串
Python还可以使用运算符“+”拼接字符串。
示例如下:
print("Py"+"thon")
结果:
Python
4.3.3 删除字符串的指定字符
字符串中可能会包含一些无用的字符(如空格),在处理字符串之前往往需要先删除这些无用的字符。Python中的strip()、lstrip()和rstrip()方法可以删除字符串中的指定字符。
4.3.4 删除字符串的指定字符
在特定情况下会对英文单词的大小写形式进行要求,表示特殊简称时全字母大写,如CBA;表示月份、周日、节假日时每个单词首字母大写,如Monday。Python中支持字母大小写转换的方法有upper()、lower()、capitalize()和title()。
upper()示例如下:
str = "this is string example....wow!!!"
print("str.upper() : ", str.upper())
结果:
str.upper() : THIS IS STRING EXAMPLE....WOW!!!
capitalize()示例如下:
str = "this is string example....wow!!!"
print("str.capitalize() : ", str.capitalize())
结果:
str.capitalize() : This is string example....wow!!!
4.3.5 字符串对齐
在使用Word处理文档时可能需要对文档的格式进行调整,如标题居中显示、左对齐、右对齐等。Python提供了center()、ljust()、rjust()这3个方法来设置字符串的对齐方式。