python面试题(二)字符串常用函数
今天在微信的公众号上看到了一遍python学习开发的文章,里面有一些python的面试题,碰巧最近python不知道学什么了,索性学一下这篇文章啊!!先写一下一些字符串的常用函数。(ps:本人太菜,若有错误的地方欢迎大佬随时责骂。。xixixii)
0x01:格式化字符串
格式化字符串可以很好的帮助我们把我们想要的输出出来,用起来也很方便,主要有下面几种形式。
#格式化字符串 print('hello,{0} {1} {2}'.format('zhong', 'yuan', 'gong')) #通过位置格式化 print('hello,{name},my name is {self}!!'.format(name='tom', self='sir')) #通过key填充 l=['tom', 'sir'] print('hello,{l[0]},my name is {l[1]}!!'.format(l=l)) #通过数组的下标填充 m={'name': 'tom', 'self': 'sir'} print('hello,{m[name]},my name is {m[self]}!!'.format(m=m)) #通过字典的key填充,键名不加引号
上面输出结果都是:hello,tom,my name is sir!!
0x02:字符串大小写问题
关于英文字符串的大小写转换问题,可以通过下面几个函数实现
#首字母大写 a = 'hello,zHong yUan GoNg!!' print(a.title()) #全部大写 print(a.upper()) #全部小写 print(a.lower()) #首个单词的首字母大写 print(a.capitalize())
输出结果一次为:
Hello,Zhong Yuan Gong!!
HELLO,ZHONG YUAN GONG!!
hello,zhong yuan gong!!
Hello,zhong yuan gong!!
0x03:字符串切片
d = '123456789' #获取第3到6个字符 print(d[2:6]) #这里输入的是字符串的下标,python中切片时,含前不含后,就如这里输出的是下标2-5的子字符串,而不是下标2-6的子字符串。 #获取最后2个字符 print(d[-2:]) #对字符串进行反转 print(d[::-1])
输出结果如下:
3456
89
987654321
0x04:删除字符串中的空格
c = ' hello world !!! ' #去掉字符串开头和末尾的空格 print(c.strip()) #去掉字符串左边的空格 print(c.lstrip()) #去掉字符串右边的空格 print(c.rstrip()) #去掉字符串中所有的空格 print(c.replace(' ',''))
输出依次为:
hello world !!!
hello world !!!
hello world !!!
helloworld!!!
注意:这里不要把strip函数和split函数搞混了,前者是删除字符串中指定的字符,默认为空格,后者是用指定的字符分割字符串,默认也是空格
0x05:更改字符串的编码
有时候我们在进行文件存储是,会出现乱码,这时候,我们改一下编码就OK了。方式如下
#转换字符串编码 e='hello,zhongyuan university,你很好!' print(e.encode('utf-8'))