在python中,单引号(‘ ’)和双引号(“ ”)中的数据其实都是表示字符串,三引号(''' ''' or """ """)表示多行的字符串。在python中是没有字符这个概念的,字符和字符串都统称为字符串。
首先要介绍的是字符串的表示方式:
1. 字符串内容里面有单引号,那么我们在定义这个字符串的时候,就应该用双引号
`hello = "He said : 'OK, I will go now'"`
2. 字符串内容里面有双引号,那么我们在定义这个字符串的时候,就应该用单引号
`hello = 'He said : "OK, I will go now"'`
3. 字符串内容里面既有双引号也有单引号那么我们在定义这个字符串的时候,就应该用三引号
`hello = '''He said : 'OK, "I will go now"'''`
其次,我们将要介绍字符串的常用操作:
1. 拼接
拼接的前提是两个都是字符串,用“+”号连接
str1 = '123'
str2 = '456'
print(str1+str2)
`输出结果为 123456`
2. 索引
Python中的字符串其实就是一个序列(sequence),序列就可以采用下标的方式进行索引,下标索引支持两种方式。
第一种是正数索引,第二种是负数索引。用正数表示的索引,第一个字符是0,第二个是1,以此类推。用负数表示字符串的索引 ,最后一个字符的索引是 -1, 倒数第二个是 -2,依次类推。
负数索引的好处在于,对一个很长的字符串来说,直接获取最后一个字符比较方便。
str1 = '123'
print(str1[0], str1[-1])
`输出结果为 1 3`
3. 切片
sequence特性的数据对象都支持切片操作
四种切片方式(以5个字符的字符串为例,左闭右开
str = '12345'
正数直接切片,左闭右开,即获取下标为2和3的数据
print(str[2:4])
输出为 34
负数直接切片,左闭右开,即获取下标为2和3的数据
print(str[-3:-1])
输出为 34
省略数字,从首字符到下标为3的切片
print(str[:4])
输出为 1234
省略数字,从下标为2到字符串末尾的切片
print(str[2:])
输出为 345
4. 判断全是数字或者是字母
s.isalnum() 所有字符都是数字或者字母,为真返回 True,否则返回 False。
str1 = '12345'
str2 = '123a'
str3 = 'aaa1'
以上三个输出均为True
5. 判断全是字母
s.isalpha() 所有字符都是字母,为真返回 True,否则返回 False。
6. 判断全是数字
s.isdigit() 所有字符都是数字,为真返回 True,否则返回 False。
7. 判断全是小写
s.islower() 所有字符都是小写,为真返回 True,否则返回 False。
8. 判断全是大写
s.isupper() 所有字符都是大写,为真返回 True,否则返回 False。
9. 替换返回新的字符串
s.replace(old,new)将s字符串中的old字符(字符子串)更改为new字符(字符子串)。该操作会返回一个更改了之后的字符串,但是s原字符串没有被更改,这时可以用一个变量来等于s.replace(old,new)
str1 = '452345'
str2 = str1.replace('45', 'a')
print(str1, str2)
输出为 452345 a23a
10. 返回特定字符(字符串)的下标
s.index(char)但是只会返回s中第一个char字符(字符串)的下标
11. 按照特定字符来分割
s.split('分割的符号' , 参数)**返回一个列表**,分割的符号会消失,后面的参数表示分成“参数+1份”
12. 把字符串按换行符进行切割
s.splitlines() 把每行内容依次存入列表。
13. 将列表中的字符串元素以某字符串为连接符, 连接为一个字符串,返回的是字符串
'|'.join([ '小张:79 ', ' 小李:88 ', ' 小赵:83'])
结果为 小张:79 | 小李:88 | 小赵:83
14. 包含了多少个参数指定的字符串
count 方法可以返回字符串对象包含了多少个参数指定的字符串
'我们今天不去上学,我们去踢足球'.count('我们')
调用字符串的count 方法,这里返回2