这是我参与「第四届青训营」笔记创作活动的的第8天
字符串
字符串是 Python 中用来存放字符序列的数据类型,其中的元素只能是字符。字符串使用单引号或双引号来表示,如 'pick',"cherry",通常我们首先使用单引号。
字符串是有序序列,可以使用索引来获取其中某个位置的元素。它是不可变的,被创建之后其中的元素(也就是字符)不能被修改和删除。
创建字符串
1.创建空字符串(即不包含字符的字符串)
字符串 = ''
>>> string = ''
>>> string
’’
2.创建包含元素的字符串
字符串 = '若干字符'
>>> string = 'happy’
>>> string
’happy’
字符的获取
- 通过索引获取字符
字符 = 字符串[索引]
>>> string = ‘happy’
>>> string[2]
’p’
2.通过子串获取索引
所谓子串就是从字符串中截取下来的一部分,可以是一个字符,一部分字符、全部字符、或空字符串,如 'a'、'ppy'、'happy'、'' 都是 ‘happy’ 的子串。查找子串时,返回的是子串的第一个字符的索引
索引 = 字符串.index(字符)
>>> string = ‘happy’
>>> string.index(‘p’)
2
>>> string = ‘happy’
>>> string.index(‘app’)
1
当字符或子串不存在时,index 方法将抛出 ValueError 错误。
也可采用字符串的 find 方法来查找子串,使用方式与 index 一致,不同点在于 find 方法未找到子串时返回数字 -1,而不抛异常。
>>> string = ‘happy’
>>> string.find(‘app’)
1
>>> string.find(‘z’)
-1
3.查看字符是否存在于字符串中
查看字符是否存在于字符串中,需要借助 Python 的关键字 in
布尔值 = 字符 in 字符串
>>> string = ‘happy’
>>> ‘a’ in string
True
>>> ‘z’ in string
False
4.统计字符在字符串中的个数
个数 = 字符串.count(字符)
>>> string = ‘happy’
>>> string.count(‘p’)
2
字符串的处理
字符串自带的方法非常多,除了上面介绍的几个之外还有四十多个,这是因为字符处理是编程时的一项高频工作。Python 将这些字符处理相关的功能以方法的形式集成在字符串里。这里列举几个常见的方法
1.startswith:判断字符串是否以某个子串开头,返回布尔值
>>> string = ‘happy’
>>> string.startswith(‘ha’)
True
2.endswith:判断字符串是否以某个子串结尾,返回布尔值
>>> string = ‘happy’
>>> string.endswith(‘y’)
True
3.replace:将字符串的子串用一个另一个字符串替换,返回一个新的字符串
>>> string = ‘happy’
>>> string.replace(‘y’, ‘iness’)
’happiness’
4.strip:去除字符串前后的空白符号,如空格、换行符、制表符,返回一个新的字符串
>>> string = ’ \t happy \n’
>>> string.strip()
’happy’
5.split:将字符串用某个子串分隔开,分隔后的各个部分放入列表中,并返回这个列表
>>> string = ‘I am happy’
>>> string.split(’ ')
[‘I’, ‘am’, ‘happy’]
6.join:将一个序列中的元素用某个字符(串)拼接,组成一个大的字符串,并返回这个字符串
>>> words = [‘I’, ‘am’, ‘happy’]
>>> ’ '.join(words)
’I am happy’
7.upper:将字符串转化为大写字母形式,返回一个新的字符串
>>> string = ‘happy’
>>> string.upper()
’HAPPY’
8.lower:将字符串转化为小写字母形式,返回一个新的字符串
>>> string = ‘HAPPY’
>>> string.lower()
’happy’
注意上面的这些字符处理功能,对字符串作处理后都是返回一个新的字符串,而不会直接修改原有的字符串。为什么呢?字符串不可变呀!