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'))

 

posted @ 2019-06-16 16:31  梁十安  阅读(688)  评论(0编辑  收藏  举报