一、定义
1.简单定义
s1=' zifang 123 % 245 //$#s#@ ' print(s1) s2=input("请输入你的名字:") print(s2)
2.运算(只有加字符串,乘正整数两种操作)
s3=s1+"cccc" print(s3) s4="hello!"*3 print(s4)
# zifang 123 % 245 //$#s#@ cccc
# hello!hello!hello!
3.字符串输出与索引处理
1)打印
for i in s3: print(i,end='') #不加end=''就是默认打印一次就换行
2)切片
#[首:尾:步长],步长可以不写。 # [首:尾],但是如果尾部写了,就不会有尾部那个元素。 #切片:顾头不顾尾 s5=s1[1:5:2] print(s5) s6=s1[-1::-1] #倒置字符串 print(s6) #返回: #zf # @#s#$// 542 % 321 gnafiz
4.示例
#一个完整的程序 #方法一 username=input("请输入用户名:") password=input("请输入密码") #默认输入的都是字符串 if username == 'zs' and password == '123456': print("恭喜,登陆成功!") else: print("用户名或密码错误") #方法二 username=input("请输入用户名:") password=int(input("请输入密码")) if username == 'zs' and password == 123456: print("恭喜,登陆成功!") else: print("用户名或密码错误")
5.关于str的方法
1)大小写
#1.大小写 s7=s3.capitalize() #第一个字符如果是字母就大写,不是就没有任何效果 print(s7) # zifang 123 % 245 //$#s#@ cccc s8=s3.upper() #全部字母大写 print(s8) # ZIFANG 123 % 245 //$#S#@ CCCC s9=s8.lower() #全部字母小写 print(s9) # zifang 123 % 245 //$#s#@ cccc s10=s3.title() #特殊字符后的字母大写 print(s10) # Zifang 123 % 245 //$#S#@ Cccc
sw='AcDx'.swapcase() #大小写互换 print(sw) #aCdX
2)打印
#2.关于打印 print(len(s1)) #打印字符串的长度(比索引大1) s11=s10.center(40,"*") #居中显示,长度四十,不够拿*填充 print(s11) #** Zifang 123 % 245 //$#S#@ Cccc*** s12=s10.expandtabs() #如果有特殊字符比如空格,制表符等就隔开,严格制表 print(s12) # Zifang 123 % 245 //$#S#@ Cccc
sz="asfodsijc ascsdfvsrf #" print(sz.center(40,"&")) #居中 print("*"*30) print(sz.ljust(20,"@")) #左对齐 print("*"*30) print(sz.rjust(50,"=")) #右对齐 print("*"*30)
3)判断
#3.判断 s13=s4[1:4] print(s13.isdigit()) #判断是否全由数字组成 print(s13.isalpha()) #判断是否全由字母组成 print(s13.endswith('l')) #判断是否以某字符结尾 print(s13.startswith('l')) #判断是否以某字符开头
4)找索引
#4.索引 a=s1.find('a') #找某字符第一个出现的位置,没有就返回-1 print(a) b=s1.index('n') #同样找字符出现的索引,没有就报错 print(b)
5)删除空格
#5.删空格 s15=s1.strip() #左右的空格都删除 print(s15,len(s15)) #zifang 123 % 245 //$#s#@ 24 s16=s1.lstrip() #只删除左边的空格 print(s16,len(s16)) #zifang 123 % 245 //$#s#@ 30 s17=s1.rstrip() #只删除右边的空格 print(s17,len(s17)) # zifang 123 % 245 //$#s#@ 25
6)其他
#split 字符串转化为列表。也有删的意思
#6.其他 s18=s1.split(' ') #以某字符作分割,字符不要,其余块作为列表元素 print(s18) #['', 'zifang', '123', '%', '245', '//$#s#@', '', '', '', '', '', ''] c=s1.count('a') #计算字符串中某字符出现的次数 print(c) s19=s1.encode() #改变编码方式,默认改为bytes类型,里面可以加参数'gbk','utf-8'等 print(type(s19)) #返回<class 'bytes'>
sz="as fod sijc asc sdfvsrf #" sz1=sz.splitlines() #按换行符隔开 print(sz1) sz2=sz.split("a") #按指定元素隔开 print(sz2)
6.格式化输出
#格式化输出 #方法1 # %占位符 name=input("请输入你的名字:") age=int(input("请输入你的年龄:")) p1='我的名字是:%s,我的年龄是:%d,我的成绩是全班前5%%。对,我叫%s'%(name,age,name) print(p1) # %s占位表示是字符串,%d占位数字。 # 如果一个字符串里出现了占位符,那么要打印%前面必须加个%表示转义,单独打印%不需要加转义 #方法2 #使用format函数 {} p2='我的名字是:{0},我的年龄是:{1},我的成绩是前5%,对我叫{0}'.format(name,age) print(p2) #方法3 #使用format函数与{} p3='我的名字是:{name},我的年龄是:{age},对我叫{name}'.format(name=name,age=age) print(p3)
7.替换
sx=" asf asfdc regvdf " sxx=sx.replace('a',"*") #第一个参数是原有的,第二个参数是需要替换成什么 print(sxx) # *sf *sfdc regvdf