1、字符串方法
1.1、查
(1)count:统计字符串中某元素出现的次数
>>>zf = 'hello world'
>>>zf.count('l')
3
>>>zf.count('o')
2
(2)index:查找元素所在的下标
>>>zf = 'hello world'
>>>zf.index('o')
4
>>>zf.index('l')
2
>>>zf.index('l',3) '''这里是从下标为3的位置开始查找'''
3
(3)find:查找
>>>zf = 'hello world'
>>>zf.find('a') '''字符串中若不存在要查找的元素,则返回-1'''
-1
(4)isdigit:判断字符串是否为纯数字,是返回True,否返回False
>>>'af4s5f4f6'.isdigit()
False
>>>'18544674'.isdigit()
True
(5)isalpha:判断字符串是否为纯字母,是返回True,否返回False
>>>'af4s5f4f6'.isalpha()
False
>>>'dbsjfbKL'.isdigit()
True
(6)isupper:判断字符串是否为纯大写字母,是返回True,否返回False
>>>'aGHJ4s5fHlsd6'.isupper()
False
>>>'HJJKJKIK'.issupper()
True
>>>'aKHGs5f4f6'.upper()
'AKHGS5F4F6'
(7)islower:判断字符串是否为纯小写字母,是返回True,否返回False
>>>'aGHJ4s5fHlsd6'.islower()
False
>>>'fghsadfv'.islower()
True
1.2、改
(1)upper:将字符串中所有的小写字母改为大写字母
>>>'aKHGs5f4f6'.upper()
'AKHGS5F4F6'
(2)lower:将字符串中所有的大写字母改为小写字母
>>>'aKHGs5f4f6'.lower()
'akhgs5f4f6'
(3)capitalize:字符串第一个字母大写,若字符串第一个字符是数字的话,该方法无效
>>>'hello world '.capitalize()
'Hello world'
>>>'22hello world '.capitalize()
'22hello world'
(4)title:每一个单词首字母大写,字符串第一个字符是数字的话,也会将数字之后的第一个字母改写大写
>>>'hello world '.title()
'Hello World'
>>>'2hello 3world '.title()
'2Hello 3World'
1.3、删
(1)strip:删除字符串中所有的空格
>>>' jhk '.strip()
'jhk'
>>>' jhk '.lstrip() '''lstrip是删除字符串左边的空格‘’‘’
'jhk '
>>>' jhk '.lstrip() '''rstrip是删除字符串右边的空格‘’‘’
' jhk'
(2)split:分离字符串
>>>'a b c d'.split() #如果没有指定分离位置,则默认以空格分离,并删除空格
['a','b','c','d']
>>>a='hello world python'
>>>a.split('o') #如果有指定分离字符,则按照指定字符分离,并删除该指定字符
['hell',' w','rld pyth','n']
(3)replace:替换字符串中的字符
>>>a='hello world python'
>>>a.replace('o','') #将字符串中的字符替换为空格,相当于删除该字符
'hell wrld pythn'
>>>a.replace('o','xx') #将字符串中的字符替换为指定的字符
'hellxx wxxrld pythxxn'
>>>a.replace('o','xx',1) #将字符串中某一个字符替换为指定的字符
'hellxx world python' #这里仅hello的'o'被替换成'xx'
>>>a.replace('o','xx',2) #这里的数字代表的是该方法杯执行几次
'hellxx wxxrld python' #这里仅hello、world的'o'被替换成'xx',这里就执行了2次
1.4、增
字符串拼接
(1)+拼接
>>>'hello'+'wolrd'
'hello world'
(2)join拼接
>>>''.join(['hello',' wolrd'])
'hello world'
>>>''.join(('hello',' wolrd')) #要拼接的字符串必须是一个整体,join才可以正确被执行,如果把小括号或者中括号去掉,则会报错
'hello world'
2、字符串的转义
当字符前面加上\,字符就不在表示字符本身的意思,表述ASCII码中不能显示字符
2.1、\n:换行
>>>li = 'aaaa\nbb'
>>>print(li)
aaaa
bb
2.2、\t:水平制表符
>>>li = 'aaaa\tbb'
>>>print(li)
aaaa bb
2.3、\b:退格
2.4、\r:回车,当前位置移到本行开头
>>>li = 'aaaa\rbb'
>>>print(li)
bbaa
2.5、\:代表反斜杠\
>>>li = 'aaaa\\bb'
>>>print(li)
aaaa\bb
2.6、’:代表单引号
>>>li = 'aaaa\'bb'
>>>print(li)
aaaa'bb
2.7、\0:空格
>>>li = 'aaaa\0bb'
>>>print(li)
aaaa bb
2.8、\a系统提示符
>>>li = 'aaaa\abb'
>>>print(li)
aaaabb
2.9、去除字符串转移,在字符串前加上r即可
>>>print(r 'aaaa\\bb') #字符串前加上r,这里会把所有字符打印出来,会多用于正则
r'aaaa\bb'
3、格式化输出
什么是格式化输出呢?
格式化输出就是我们想把数据按照特定要求的形式输出
下面我来介绍下%和format两种用法
3.1、%的用法
(1)字符串的格式化输出(%s)
>>>a = 'hello world'
>>>print('%s',a)
hello world
(2)整数型的格式化输出(%d)
>>>a = 26
>>>print('%d',a)
26
(3)浮点型小数的格式化输出(%f、%e)
>>>a = 1.23
>>>print('%f',a) #保留小数点后6位
1.230000
>>>print('%.3f',a) #保留小数点后3位
1.230
>>>print('%e',a) #保留小数点后6位,并以科学计数法表示
1.230000e+00
>>>print('%.3e',a) #保留小数点后3位,并以科学计数法表示
1.230e+00
3.2、format的用法
(1)不带编号
>>>print('{},{},{}'.format([1,2,3],4,5)
'[1,2,3]45'
(2)带编号
>>>print('{2},{0[1]},{1}'.format([1,2,3],4,5)
'524'
4、字符串编码解码
4.1、编码encode
>>>'字符串'.encode('utf8')
b'\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2'
>>> '字符串'.encode('gbk') #gbk是中国的编码标准
b'\xd7\xd6\xb7\xfb\xb4\xae'
4.2、解码decode
>>> b'\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2'.decode('utf8')
'字符串'
>>> b'\xd7\xd6\xb7\xfb\xb4\xae'.decode('gbk')
'字符串'
Python统一了编码,这样Python在内部处理的时候不会因编码不同而出现程序不能正常执行的问题。
Python会自动根据系统环境选择编码,但是经常在文件传输的过程中,会遇到各种不同的编码,这个时候就需要我们去处理编码问题。
注意:用什么规则编码,就用什么解码