黑马程序员学Python——字符串相关
本文主讲:Python内字符串的基本操作等
书写字符串的注意事项
你问我答:字符串类型可以是单引号里面的内容,也可以是双引号里面的内容,那么可以是三引号里面的内容吗?其中三引号书写字符串与单引号及双引号有什么不同吗?
答:三引号可以书写字符串!例如 “”“ 我爱你 ”“” 中的我爱你就是一个字符串,但是三引号里面的字符串支持换行,并且换行打印出来。而单引号和双引号里面的不支持换行!(代码如下)
字符串的下标(索引)
你问我答:什么是字符串的下标(索引)呢?他有什么用呢?
答:程序运行的时候,数据是存储在内存中的,比如说一个字符串 str1 = “hello”存放在内存中,每一个数据单词在自己的存放地址内都有一个编号,这个编号是从零开始依次顺序排序,比如说 h 的编号(下标)为 0 ,e 的编号(下标)为 1,方便使用字符串内的某一个数据单词。
字符串的切片
你问我答:有一个字符串 str1 = “我爱你XXX”那么我们想要打印这个字符串的一部分数据,比如打印“我爱你”这段数据怎么办呢?
答:利用切片,切片的作用就是获取字符串、列表、元组一部分数据,其语法为 : 序列名[ 开始数据下标 :结束数据下标+1 :步长],不要忘记结束数据下标要加一
注意:切片和range()这两个语法都是左闭右开类型的!!不包括右面的数据!
切记:切片 str1[ -3 :-1 :-1]这段切片是不成立的,-3到-1选取是从左到右选取的,而步长为 -1 代表从右到左选取,这互相矛盾,因此选取不了
字符串操作方法—查找
字符串常用操作方位分为三部分,分别为:查找、判断、修改三大类
查找方法一:子串的查找,即利用 find( )
查找子串是否在父串中,如果在返回子串在父串中的初始位置下标,如果不在则返回 -1
find()使用语法: 字符串序列名称. find(子串 ,查找区间开始位置下标 , 查找区间结束位置下标)
快速代码体验:
查找方法二:利用rfind()
函数进行子串的查找,注意是从右侧开始进行查找,如果查询到则返回字符串下标,不存在则返回 -1
快速代码体验
查找方法三:利用 index()
函数查找子串是否在父串中,如果在返回子串在父串中初始位置下标,如果不在程序显示异常!
index()查找子串语法:字符串序列名 . index(子串 ,查找区间初始位置下标,查找区间结束位置下标)
代码快速演示
查找方法四:count()
【计数函数】,count()可以查找子串在父串中出现的次数,出现几次返回数字几,没有出现返回0
count()语法: 字符串序列名 . count(子串,查找区间开始位置,查找区间结束位置)
快速代码演示:
字符串操作方法—修改、切割【重点】
修改方法(替换):子串的替换,利用 replace()函数进行子串间的替换
子串替换语法: 字符串序列名 . replace(旧子串名,新子串名,替换次数)
替换次数可不写默认为全部替换
快速代码演示:注意:使用replace()修改字符串数据后,有返回值,且原字符串是不被更改的,因为字符串属于不可修改类型数据!!
切割方法:split(),利用split()方法可以将一个字符串从固定位置分隔成一个列表,有 n 个分割符就有 n + 1 个列表元素!
分割函数语法: 字符串序列 . split(分割符名称 ,分割符出现次数 )
分割完成后,会丢失分割符号
代码快速演示:
合并方法:利用 join()方法将一个列表中的所有列表元素合并成一个字符串!!
join()函数语法 : 连接字符 . (列表变量名)
代码快速体验:
字符串操作方法—大小写转换
方法一:capitalize()
功能:将整个字符串的首字母进行大写
语法:字符串序列名 . capitalize( )
快速代码演示:
方法二:title()
功能:将字符串内每个单词首字母进行大写
语法:字符串序列名 . title( )
快速代码演示:
方法三:upper()
功能:将字符串内所有单词进行大写
语法:字符串序列名 . upper( )
快速代码演示:
方法四:lower()
功能:将字符串内每个单词都进行小写
语法:字符串序列名 . lower( )
快速代码演示:
字符串操作—删除空白符
方法一:strip( )
功能:删除字符串两侧空白字符
语法:字符串序列 . strip( )
快速代码体验
方法二:rstrip( )
功能:删除字符串右侧空白字符
语法:字符串序列 . rstrip( )
快速代码体验
方法三:lstrip( )
功能:删除字符串左侧空白字符
语法:字符串序列 . lstrip( )
快速代码体验
字符串操作—判断
判断方法一: startswith( )函数
功能:判断一个字符串是否以规定的子串为开头,如果是返回Ture,不是返回False
语法:字符串序列 . startswith( 子串名,判断区间开始下标,判断区间结束下标)
其中下标可以省略,默认为整个字符串
快速代码体验:
判断方法二: endswith( )函数
功能:判断一个字符串是否以规定的子串为结尾,如果是返回Ture,不是返回False
语法:字符串序列 .endswith( 子串名,判断区间开始下标,判断区间结束下标)
其中下标可以省略,默认为整个字符串
快速代码体验:
判断方法三: isalpha( )函数
功能:判断字符串内的字符数据是否全部为字母字符数据(空白字符不是字母字符)是返回Ture,不是返回False
语法:字符串序列 . isalpha( )
快速代码体验:
判断方法四: isdigit( )函数
功能:判断字符串内的字符数据是否全部为数字字符数据(空白字符不是数字字符)是返回Ture,不是返回False
语法:字符串序列 . isdigit( )
快速代码体验:
判断方法五: isalnum( )函数
功能:判断字符串内的字符数据是否全部为数字字符数据或者字母数据或数字与字母的组合(空白字符不是数字字符)是返回Ture,不是返回False
语法:字符串序列 . isalnum( )
快速代码体验:
判断方法六: isspace( )函数
功能:判断字符串内数据类型是否全部为空白字符,是返回Ture,不是返回False
语法:字符串序列 . isspace( )
快速代码体验:
未完待续……