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)
结果如下
总结:字符串的方法较多,实际操作时使用的也非常多,不能单靠死记硬背!一定要写代码写代码写代码,多写脑子里面自然就会记着了!
新手入门阶段,希望能够和大家一起进步!