Python字符串(9)

前面,我们讲了一种新的数据类型——元组,并且介绍了元组和列表的显著区别,元组里面的元素是不能直接修改的,但是小伙伴们还记不记得,我们可以通过间接的办法来实现元组里面的元素的修改,那是什么呢?
没错,那就是拼接,通过拼接,我们可以实现元组里面元素的删除,拷贝,修改等等一些强大的功能。
今天,我们先不讲另一种数据类型——字典(dictionary),而是再说一下字符串搭配使用的一些方法,这个可以大致了解一下。

1)首先,说的是字符串的各种奇葩的内置方法:

>>> str1 = 'Hello , World!'
>>> str1[:6]
'Hello '
>>> str1[5]
' '
>>> str1 = str1[:6] + 'baby' + str1[6:]
>>> str1
'Hello baby, World!'

这个第一二行代码是我们之前使用的列表的切片的方法,第四行代码是当个元素的索引,再后面的是元组修改元素时常用的拼接法。

下面,我们再来看一下和字符串搭配使用的一些方法或者是函数吧:
①capitalize():这个是将字符串的开头字母给大写,后面的字母并不会改变

>>> str2 = 'www.taobao.com'
>>> str2.capitalize()
'Www.taobao.com'

②casefold():这个是将字符串里面的所有大写字母改成小写

>>> str3 = 'ABC.com'
>>> str3.casefold()
'abc.com'
前面两条返回一个新的str,并不影响原来的结果

后面的像islower,isupper等等,我感觉用到的机会很少,所以大家有兴趣的话可以自己了解下:
1、关于字符串处理字母的函数:

.upper() #全部转为大写字母

.lower() #全部转为小写字母

.title() #首字母大写

.capitalize() #首字母大写

.swapcase() #大小写相互转换

2、关于查找字符串相关的函数:

.find()  #查找指定的字符串,没有则返回-1,找到会返回索引位置  ,find(sub,start,end)

.rfind() #从字符串的右边开始查找

.count() #获取指定字符在该字符串中出现的次数

.index() #和find()功能类似,但是找不指定字符会报错,而find()则会返回-1   

find方法和index方法有三个参数, sub=想查找的字符,start=指定位置,end=结束位置

3、与字符串判断相关:

.isalnum()  #判断字符串是否全部是数字或者字母

.isupper() #判断是否全是大写

.islower #判断是都全是是小写

.isalpha() #判断是否全是字母

.isdecamal() #判断字符串是都只包含十进制字符    定义一个十进制字符串,只需要在字符串前面加个“u”前缀即可

.isdigit() #判断是否全部是数字

.isidentifier() #判断变量名是否是python的标识符

.isspace() #判断是否全是空格

2)我们来讲一下很实用的字符串格式化方法:
首先,放在前面的肯定是.format啦,当然,放在前面也代表着这个很重要而且是使用的机会很大,看一下例子来了解一下:

>>> '{0} love {1}.{2}'.format('I','Fishc','com')
'I love Fishc.com'
>>> '{0} love {1}.{2}'.format('I','www.taobao','com')
'I love www.taobao.com'
>>> '{a} love {b}.{c}'.format(a = 'I',b = 'love' ,c= 'www.taobao.com')
'I love love.www.taobao.com'

这两种方式得到的结果差别不是很大,前面括号里面的叫位置参数,后面的叫关键字参数
而且这两种还能混合使用(但是在混合使用的时候一定要注意关键字参数一定要放在位置参数的后面,否则会报错)

>>> '{0} love {b}.{c}'.format('I',b = 'www' ,c= '.taobao.com')
'I love www..taobao.com'
>>> '{a} love {b}.{0}'.format(a = 'I',b = 'www' , 'taobao.com')
SyntaxError: positional argument follows keyword argument

问一下小伙伴们,要想把{}打印出来,应该怎么实现呢?没错,可以再加一个{}

>>> '{{ajd}}'.format('adfc')
'{ajd}'

再来看一下有意思的东西:

>>> '{0:.1f}{1}'.format(1214.324,'Kg')
'1214.3Kg'

冒号表示格式化开始,1f表是小数点后取以为有效数字(这个跟C语言还是有很大相似之处的——都是机器码嘛)
下面看一下常见的操作符的辅助指令:

m.nm是显示的最小总宽度,n是小数点后的位数
-用于左对齐
+在正数前显示加号,负数则是没有影响的
#在八进制前面显示‘o’,在十六进制前面显示‘0x’或者是‘0X’
0显示的数字前面填充‘0’取代空格

看一下具体的代码吧:

>>> '%5.1f'%134.14
'134.1'
>>> '%-10d'%5
'5         '
>>> '%+d'%-5
'-5'
>>> '%010d'%5
'0000000005'

前面的第一个5.1表示最小的宽度是5,随意可以看到134.1前面有一个空格码

%c格式化字符及ASCII
%s格式化字符串
%d格式化整数
%o格式化无符号八进制数
%f格式化定点数
%e科学计数法
%g根据值大小决定使用%f还是%e’
>>> '%c'%97
'a'
>>> '%c %c %c'%(97,98,100)
'a b d'
>>> '%s'%'I love taobao.com'
'I love taobao.com'
>>> '%d + %d = %d'%(3,4,3+4)
'3 + 4 = 7'
>>> '%o'%10
'12'
>>> '%x'%10
'a'
>>> '%X'%10
'A'
>>> '%f'%24.21325
'24.213250'
>>> '%e'%24.21325
'2.421325e+01'
>>> '%g'%24.21325
'24.2132'

第一个例子是把ASCII码对应的字母找出来,第三个例子就是把格式化整数的用法,后面的就是定点数和科学技术法的使用。
今天的分享主要还是拓展的,最重要的是.format的用法,希望大家注意点!!!
睡觉了,各位,晚安吖!新的一天加油!

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页