2018-12-26

  今天是我正式学习Python的第二天,也是我准备用博客来记录我学习历程的第一天。希望可以坚持下去,并且真正学到一些东西。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

对字符串进行操作的方法:

 

1.对输入字符是否是数字的判断{str.isdecimal(),str.isdigit(),str.isnumeric()}

a = "2"
b = ""
c = ""
v1 = a.isdecimal()
v2 = a.isdigit()
v3 = a.isnumeric()
v4 = b.isdecimal()
v5 = b.isdigit()
v6 = b.isnumeric()
v7 = c.isdecimal()
v8 = c.isdigit()
v9 = c.isnumeric()
print(a,v1,v2,v3)
print(b,v4,v5,v6)
print(c,v7,v8,v9)
2 True True True
② False True True
二 False False True

  由上图可见,str.isnumeric()的可适用范围最广。

 

 

2.字符串的大小写转换{str.casefold(),str.upper(),str.lower(),str.swapcase(),str.title()}

 还有对于其的判断{str.isupper(),str.islower(),str.istitle()}

a = "WCbLyN"
print(a.casefold())     #字符串转变为对应的小写,不止英文
print(a.swapcase())     #将大小写互换
print(a.upper())        #全部转换为大写
print(a.lower())        #全部转换为小写
print(a.title())        #首字母大写,其他小写
print(a.isupper())      #判断是否为大写
print(a.islower())      #判断是否为小写
print(a.istitle())      #判断是否为首字母大写

结果依次为:
wcblyn
wcBlYn
WCBLYN
wcblyn
Wcblyn
False
False
False

 

 

3.在字符串中查找某一字符{str.find()}

a = "WCbLyNWCbLyNWCbLyN"
v = a.find("C",0,2)
v1 = a.find("c")
v2 = a.find("C",0,1)
print(v,v1,v2)                 #显示字符串中第一次出现此字符的位置,也可限定开始和结束的区间,左闭右开,查找失败返回-1

结果依次为:
1 -1 -1

 

 

4.把占位符替换成指定的值{str.format(),str.format_map()}

a = "i am {name},age{b}"
v = a.format(name = "wcb",b = 21 )                    
v1 = a.format_map({"name":"lyn","b":21})
print(v)
print(v1)        #格式化,将一个字符串中的占位符替换为指定的值,按顺序填入 

结果为:
i am wcb,age21
i am lyn,age21

 

5.将字符串中的 字符 替换成对应的字符{str.maketrans(str1,str2),str.translate()}

a = "lynwcb"
b = "123456"
v = "456 love 123"
m = str.maketrans(b,a)            #将两个参照的字符串一一对应起来
v1 = v.translate(m)                #转换
print(v1)

结果为:
wcb love lyn        

 

6.将字符串内的字符或字符串替换成字符或字符串{str.replace()}

a = "lynwcb596922596922"
v1 = a.replace("wc","love")
v2 = a.replace("w","love")
v3 = a.replace("wc","o")
v4 = a.replace("2","o")
v5 = a.replace("2","o",2)             #可通过添加参数选择替换前n个
print(v1)
print(v2)
print(v3)
print(v4)
print(v5)

结果依次为:
lynloveb596922596922
lynlovecb596922596922
lynob596922596922
lynwcb5969oo5969oo
lynwcb5969oo596922

 

7.去除空格、\t、\n,并可去除指定字符串(有限最多匹配){str.strip(),str.lstrip(),str.rstrip()}

p = "lynwcblynwcb"
v = p.strip("wcbly")
print(v)

结果为:
nwcblyn

这个功能让我很困惑,目前还没搞懂是什么原理

 

8.将字符串中的每一个元素按照指定分隔符进行拼接{str.join()}

a = "_"
v = "lynwcb596922"
v1 = a.join(v)
print(v1)

结果为:
l_y_n_w_c_b_5_9_6_9_2_2             #在两个字符之间加入,前后没有

 

9.根据指定字符或者字符串在其第一次出现的位置将字符串分成三份,并保留关键词{str.partition(),str.rpartition()}

a = "lynwcb596922lynwcb596922"
print(a.partition("wc"))
print(a.rpartition("wc"))         #从右边开始检索第一个关键词

结果为:
('lyn', 'wc', 'b596922lynwcb596922')
('lynwcb596922lyn', 'wc', 'b596922')

 

10.根据指定字符分割字符串{str.split(),str.rsplit()}

a = "lynwcb596922lynwcb596922"
print(a.split("cb"))
print(a.split("cb",1))      #其本身取不到.可定参数,确定分几次
print(a.rsplit("cb",1))

结果为:
['lynw', '596922lynw', '596922']
['lynw', '596922lynwcb596922']
['lynwcb596922lynw', '596922']

 

可应用于整数加法计算器

value = "5 + 9"
v1,v2 = value.split("+")
print(int(v1)+int(v2))

 

11.制作表格{str.expandtabs()}

a = "name\tage\tgender\nwcb\t21\tmale\nlyn\t21\tfemale"
print(a.expandtabs(20))                 #20个为一组,若遇到\t,自动补满20

结果为:
name                age                 gender
wcb                 21                  male
lyn                 21                  female

 

12.帮助创建连续的数字,也可通过设置步长来指定不连续的数字{range()}

v = range(0,100,5)        #左闭右开 0<=x<100
for i in v:
    print(i)

 

13.将字符串居中,并用一个 字符 将两边填充满{str.center(),str.ljust(),str.rjust()}

a = "LYNWCB"
v = a.center(20,"*")            
print(v)

结果为:
*******LYNWCB*******

 

2018-12-27 09:21:21 正式完成第一次的整合,拖的时间有点长,今天要抓紧整理,加快进程。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄