python字符串浅析

151 阅读3分钟

这是我参与「第四届青训营」笔记创作活动的的第8天

字符串

字符串是 Python 中用来存放字符序列的数据类型,其中的元素只能是字符。字符串使用单引号或双引号来表示,如 'pick'"cherry",通常我们首先使用单引号。

字符串是有序序列,可以使用索引来获取其中某个位置的元素。它是不可变的,被创建之后其中的元素(也就是字符)不能被修改和删除。

创建字符串

1.创建空字符串(即不包含字符的字符串)

字符串 = ''

>>> string = ''
>>> string
’’

2.创建包含元素的字符串

字符串 = '若干字符'

>>> string = 'happy’
>>> string
’happy’

字符的获取

  1. 通过索引获取字符
字符 = 字符串[索引]

>>> 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’

注意上面的这些字符处理功能,对字符串作处理后都是返回一个新的字符串,而不会直接修改原有的字符串。为什么呢?字符串不可变呀!