python学习之字符串

一.字符串的基本操作

 1 #字符串的基本操作
 2 s = "hello,worlod"
 3 #字符串查找
 4 print(s.find("lo"))
 5 print(s.index("lo"))
 6 
 7 print(s.rfind("lo"))
 8 print(s.rindex("lo"))
 9 
10 #find()和index()的区别:如果查找的内容不存在,index()会报错,而find不会报错
11 print(s.find("k"))
12 print(s.index("k"))
13 
14 print(s.rfind("k"))
15 print(s.rindex("k"))

二.字符串的大小写转换

1 print(s.upper())  #大写转换,转换后会生成一个新的字符串对象
2 print(s.lower())  #小写转换,转换后生成一个新的字符串对象
3 print(s.title())  #只转换单词的首字母
4 
5 print(s.swapcase())  #把字符串中所有大写字母转化为小写,所有小写字母转化为大写
6 print(s.capitalize()) #把第一个字符转化为大写,其余字符均为小写

三.字符串对齐

 1 #如果显示的总位数小于字符串长度,则显示原字符串
 2 s = 'lvjianyou'
 3 
 4 #居中对齐
 5 print(s.center(20,'-'))
 6 print(s.center(5,"-"))
 7 #向左对齐
 8 print(s.ljust(20,""))
 9 print(s.ljust(5,""))
10 #向右对齐
11 print(s.rjust(20,""))
12 #向右对齐,左边用0填充
13 print(s.zfill(20))

结果显示如下

 

 四.字符串的劈分操作

 1 #split():从字符串左边默认根据空格进行劈分,返回的值是一个列表
 2 lst = s.split()
 3 print(lst)
 4 print("------------------------------------")
 5 s = "hello-world-i-am-coming"
 6 #改变split()默认的分割符号,改变最大分割的次数
 7 lst = s.split(sep="-",maxsplit=2)
 8 print(lst)
 9 
10 #右分割 rsplit()

结果如下

 

 五.字符串判断的常用方法

 1 s = "hello,world"
 2 #isidentifier()判断字符串是不是合法的标识符
 3 print(1,s.isidentifier())
 4 print(2,"张三".isidentifier())
 5 #isspace():判断字符串是否全部由空白字符组成(回车,换行,制表等)
 6 print(3,"   ".isspace())
 7 
 8 #isalpha()判断指定的字符串是否全部由字母组成
 9 print(4 ,"asfsf".isalpha())
10 
11 #isdecimal()判断指定字符串是否全部由十进制数字组成
12 print(5,"5646519".isdecimal())
13 
14 #isnumeric()判断指定的字符串是否全部由数字组成
15 print(6,"0x55".isnumeric())
16 
17 #isalnum()判断字符串是否全部由字母和数字组成
18 print(7,"sf232".isalnum())

六.字符串替换

 1 s = "hello"
 2 #replace()一共可以有三个参数 replace(被替换的值,替换值,替换次数) 替换次数可以省略
 3 print(s.replace("l","*"))
 4 print(s.replace("l","*",0))
 5 
 6 #join()进行字符串的合并,只能将列表或者元组中的字符串合并成一个字符串
 7 lst = [i+"ooo" for i in "python"]
 8 print(lst)
 9 print("".join(lst))
10 print("**".join(lst))
11 print("9".join("lv建友"))

结果如下

 

 七.字符串比较操作

1 #字符串的比较操作 > < >= <= == !=
2 # is 关键字也是比较两个值是否相等
3 # == 和 is 的区别
4 # == 比较的是两个对象的值 is 比较的是两个对象的地址
5 
6 s = "hello"
7 s2 = "hello"
8 print(s!=s2)

八.字符串的切片操作

#字符串的切片操作
#注意:字符串和元组一样,都是不可变的序列 字符串的值如果改变了就是创建了一个新的字符串
#切片表达式的写法 [起始位置:结束位置:步长] 注意python的索引可以为负值 ,对应起始位置和步长也可以为负值
s = "hello,world"
print(s[::])

九.格式化字符串方法

 1 #格式化字符串
 2 name = "吕建友"
 3 age = 21
 4 #1.使用%格式化字符串
 5 print("我叫%s,今年%d岁." % (name,age))
 6 
 7 #2.使用{0} {1} 字符串的format方法
 8 print("我叫{0},今年{1}岁".format(name,age))
 9 
10 #3.使用f-string方法
11 print(f"我叫{name},今年{age}岁")
12 
13 #设置数字显示的宽度和精度
14 num = 3
15 print("%-10d" % num)  #一共占十位 ,前面填充空格
16 print("{0:10}".format(num))
17 pi = 3.1415926
18 print("%10.2f" % (pi))    #10表示占十位  .2表示显示小数点后两位数
19 print("{:10.2f}".format(pi))

十.字符串的编码与解码

1 #字符串的编码与解码
2 #注意:用什么进行编码就用什么进行解码!不然会出现乱码!
3 #GBK编码中文占两个字节  UTF-8编码方式中文占三个字节
4 
5 s="这是什么操作"
6 byte = s.encode(encoding="GBK")
7 print("编码后的字符串:",byte)
8 s = byte.decode(encoding="GBK")
9 print("解码后的字符串:",s)

结果如下

 

 总结:字符串的方法较多,实际操作时使用的也非常多,不能单靠死记硬背!一定要写代码写代码写代码,多写脑子里面自然就会记着了!

 

posted @ 2020-11-28 09:25  心友  阅读(106)  评论(0编辑  收藏  举报