python第六章:字符串操作

字符串是我们用的最多的数据类型之一,在前面的章节中,我们了解了字符串的简单结构,以及字符串提供的一些方法。

1.处理字符串

1.1 转义字符

正常的字符串是由一对单引号组成,但是如果内容里本身存在单引号怎么办?

比如:spam = 'This is cheng's cup'

这句话里显示了三个单引号,python只会认为This is cheng是一个完整的字符串,后面多余的内容无法识别。

在处理这类问题里,python提供了两种方法

python自学篇(第六章:字符串操作)

 

结果:都能正确输出 This is cheng's cup

解析:第一种方式:如果单引号需要显示出来,最外层用双引号表示,同样的如果内容中存在双引号需要显示出来,最外层用单引号表示,但是如果字符串中既有单引号,又有双引号需要显示出来,这时候就用到了后面一种方式,转义符。用反斜杠 \ +需要转义的字符表示

python自学篇(第六章:字符串操作)

 

有时候如果想忽略字符串中的转义字符,可以使用原始字符串,顾名思义,就是你输入啥,我显示啥

例如:

需要打印 spam = r'This is cheng\'s cup' 这个字符串

结果:This is cheng\'s cup。原始字符串在字符串的最前面加上字符r。

1.2 多行字符串的表示方法

表示多行字符串的方式有两种

(1):在需要换行的字符后加上 \n表示换行

(2):用三重引号输入

python自学篇(第六章:字符串操作)

 

结果:这两种方式最后单引出来都是两行的hello world,并且注意,三重引号内的所有引号,制表符或者换行,都认为是字符串中的一部分,所以如果三重引号内需要用单引号表示,不需要转义。

1.3 多行注释

之前章节中讲过,注释的表示方式是#加上注释的内容,但是如果需要注释的内容比较多,当然每行前面都可以加一个#,但是怎样代码就显得不是很美观了,所以,如果遇到多行的注释的,我们就可以使用三重引号表示

python自学篇(第六章:字符串操作)

 

这样表示是否更美观一点,可读性是否更强一点

1.4 字符串下标和切片

在前面的章节中,详细讲过了列表的下标和切片,字符串可以看成由多个字符组成的列表,结构类似于列表

这里再回顾下:

python自学篇(第六章:字符串操作)

 

结果:

python自学篇(第六章:字符串操作)

 

解析:第一个输出第一个字符为h,第二个输出第一个字符到下标是5(但不包括5)的字符串,即输出0到4的内容。

1.5 in 和 not in

表示单个字符或者字符串是否存在于原始字符串中

python自学篇(第六章:字符串操作)

 

结果:输出都为True

2.字符串相关的方法

2.1 字符串方法 upper()、lower()、isupper()、islower()

upper():生成大写字符串

lower():生成小写字符串

isupper():是否是大写字符串

islower():是否是小写字符串

python自学篇(第六章:字符串操作)

 

返回:

python自学篇(第六章:字符串操作)

 

2.2 isX字符串方法

python自学篇(第六章:字符串操作)

 

这些方法,在一些场景中非常实用,比如说,在验证用户名密码的时候,这些方法可以组合使用

2.3 字符串方法 startswith()和endswith()

字符串是否以某些内容开头或者结束,返回True 或者 False

python自学篇(第六章:字符串操作)

 

结果:

python自学篇(第六章:字符串操作)

 

2.4 字符串方法 join()和split()

join():join()方法在一个字符串上调用,参数是一个字符串列表,返回一个字符串

split():split()方法和join()方法相反,返回一个以特定分隔符截取的列表

python自学篇(第六章:字符串操作)

 

返回:

python自学篇(第六章:字符串操作)

 

解析:第一个是把列表里的数据以#拼接,返回字符串,第二个是按照#截取字符串,返回列表数据

2.5 用rjust()、ljust()和center()方法对齐文本

rjust()和ljust()字符串返回他们的填充版本,这两个字符串的第一个参数是字符串的长度,第二个参数是填充的字符

python自学篇(第六章:字符串操作)

 

返回

python自学篇(第六章:字符串操作)

 

解析:spam.rjust(10,'*')方法是右对齐,一共10个字符,hello占用了5个 其余的用*填充

spam.ljust(10,'*')相反,center(10,'*')居中对齐,其余用*填充。

这些方法在文本处理上会非常有用

比如:

python自学篇(第六章:字符串操作)

 

返回:

python自学篇(第六章:字符串操作)

 

解析:字典数据的key左对齐,其余用*填充,value右对齐,其余用空格填充

2.6 用strip(),rstrip和lstrip()删除空白字符

strip():默认删除字符串两边的空格,如果加参数,则删除字符串左右两边的指定内容,内容中字符的顺序不固定

rstrip():删除字符串右边的内容,同strip()

lstrip():删除字符串左边的内容,同strip()

python自学篇(第六章:字符串操作)

 

结果:

python自学篇(第六章:字符串操作)

 

解析:第一组数据是正常的删除空格,但是不删除字符串中间的空格

第二组数据是删除左右两边的ask字符,不要求ask的字符顺序

但是如果我们想删除一个字符串中所有的空格,怎么做。由如下几种方式

(1):通过字符串的replace()方法,把空格替换成空值

(2):通过上面讲过的方法,先用split()方法截取,默认是空格,返回列表数据,然后再用join()方法拼接

python自学篇(第六章:字符串操作)

 

2.7 用pyperclip模块拷贝黏贴字符串

pyperclip模块提供了copy和paste的功能

python自学篇(第六章:字符串操作)

 

结果:返回hello world.先复制spam变量中的内容,然后把黏贴的内容赋值给变量spam1

在现实生活中,我们可能会经常忘记各个应用的密码,有时候我们会记在一个文本里,但是每次去打开文本再去赋值黏贴很麻烦,我们可以python提供的方法轻松解决。

python自学篇(第六章:字符串操作)

 

1.我们可以先编写一个这样的python文件,先列出需要记住的应用密码,存放在字典数据里。

2.如果输入指定的应用名,就会自动复制好对应的密码,我们只要直接ctrl+v就ok了

python自学篇(第六章:字符串操作)

posted on 2020-10-22 14:35  Mr.chengJQ  阅读(117)  评论(0编辑  收藏  举报

导航