第6章 字符串

223 阅读4分钟

第6章 字符串

6.1 字符串的表示方式

使用单引号或双引号括起来的内容,称为字符串类型数据(str),可以使用以下4种方式定义。

  • ① 单引号(’’),其中可以包含双引号
  • ② 双引号(””),其中可以包含单引号
  • ③ 三单引号(’’’ ’’’ ),其中可以包含单引号和双引号,可以跨行
  • ④ 三双引号(””” ””” ),其中可以包含单引号和双引号,可以跨行

ps:python中存在许多转义字符可以通过\反斜杠或r取消转义

  • ① print(r“hello\n world”)
  • ② print(“hello\n world”)

6.2 格式化字符串

使用字符串的format()方法,它不仅可以实现字符串的拼接,还可以格式化字符串。

想将表达式的计算结果插入字符串中,则需要用到占位符。对于占位符,使用一对大括号({})表示。

在占位符中可以有参数序号,序号从0开始。序号0被format()方法中的第1个参数替换;序号1被format()方法中的第2个参数替换,以此类推

# 默认占位符
'{}'.format(num);
​
# 参数序号占位符
'{0}{1}'.format(num1,num2)
​
# 参数名占位符
'{p1}{p2}{p3}'.format(p1=i,p2=j,p3=k)

格式化控制符

语法格式:{参数序号:格式控制符}或{参数名:格式控制符}

格式控制符说明
s字符串
d十进制整数
f、F十进制浮点数
g、G十进制整数或浮点数
e、E科学计数法表示浮点数
o八进制整数
x、X十六进制整数

当使用format方法格式化字符串的时候,需要在“{}”中首先输入“:”。

“:”称为格式引导符。“:”之后分别可以设置<填充字符> <对齐方式> <宽度>。

设置项可选值
<填充字符>“*”,“=”,“-”等,但只能是一个字符,默认为空格
<对齐方式>^(居中), <(左对齐), >(右对齐)。
<宽度>一个整数,指格式化后整个字符串的字符个数。

6.3 字符串的索引与切片

Python中字符串也提供区间访问方式,采用[头下标:尾下标]的方式,这种访问方式称为“切片”。

切片访问格式:s[头下标:尾下标:步长]

  • ① 字符串s中取索引值从头下标到尾下标(不包含尾下标)的子字符串。
  • ② 切片方式中,若头下标缺省,表示从开始取子串;
  • ③ 若尾下标缺省,表示取到最后一个字符;
  • ④ 若头下标和尾下标均缺省,则取整个字符串。
  • ⑤ 当步长值大于0的时候,表示从左向右取字符;当步长值小于0的时候,表示从右向左取字符。
  • 步长的绝对值减1,表示每次所取字符间隔多少个字符。

字符串内置的字符串处理函数

函数描述
len(x)返回字符串x的长度
str(x)将任意类型x所转换为字符串类型
chr(x)返回Unicode编码为x的字符
ord(x)返回字符x的Unicode编码值
hex(x)将整数x转换为十六进制数,并返回其小写字符串形式
oct(x)将整数x转换为八进制数,并返回其小写字符串形式

ps:字符串对象是不可变的,所以字符串对象提供的涉及字符串“修改”的方法都是返回修改之后的新字符串,并不对原字符串做任何修改。

描述
字符串查找类方法
find()第一次出现指定字符串的位置,如果不存在则返回-1
rfind()最后一次出现指定字符串的位置,如果不存在则返回-1
index()第一次出现指定字符串的位置,如果不存在则报错
rindex()最后一次出现指定字符串的位置,如果不存在则报错
count()指定字符串出现了几次,如果不存在则返回0。
字符串分割类方法
split()基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。
join()将列表中多个字符串进行连接,并在相邻两个字符串之间插入指定字符,返回新字符串。
大小写转换
lower()产生新的字符串,所有字符全转成小写
upper()产生新的字符串,所有字符全转成大写
capitalize()产生新的字符串,首字母大写
title()产生新的字符串,每个单词都首字母大写
swapcase()产生新的字符串,所有字母大小写转换
字符串替换
replace(old,target)替换字符串中指定字符或子字符串,该方法不修改原字符串,而是返回一个新字符串。
字符串排版方法center()、ljust()、rjust()、zfill()
判断字符串类型方法isupper()、islower()、isdigit()、isalnum()、isalpha()
删除字符串两端指定字符strip()、rstrip()、lstrip()
指定字符串开头或结尾startswith()、endswith()