当前位置: 首页 > 后端技术 > Python

Python自学教程5-字符串的常用操作有哪些

时间:2023-03-26 13:26:13 Python

在任何编程语言中,无论是Python、Java还是Golang,字符串都是最重要的数据类型。但是对字符串的操作有很多。初学者往往不知所措。他们不知道从哪里开始,也不知道哪些操作用得最多。今天九山就给大家分享一下如何在Python中使用字符串。.你可以说什么是字符串。你在世界上看到的任何文字都会以字符串的形式显示出来。任何数据和内容也可以用字符串表示。为了方便起见,我们称字符串为文本。在Python中有多种表示字符串的形式。在数据的左右两边加一对引号,可以是单引号、双引号和三引号。引号是英文半角,全角会报错。#双引号a="jiubing"#单引号a='jiubing'#三引号a='''jiubing'''a="""jiubing"""#全角错误a='jiubing'三引号可以被表达为一个字符串,它又可以代表一条评论。它们的区别在于是否使用变量存储,不使用存储的字符串不能重复使用,只是注释。如何从字符串中获取某个字符从字面上看,字符串是由字符串组成的,类似于羊肉串和牛肉串。之后,所有的肉都放进嘴里,我看到一些女孩,吃烤羊肉串很文雅,她会用筷子夹一块肉放到碗里再吃。字符串也可以逐个字符地获取。在大多数情况下,可以使用索引方法获取单个字符。index的作用是取出一个字符,index从0开始man="kangli"print(man[1])#aprint(man[0])#kindex可以是负数,表示该数字从最后一个字符串的右侧向左数。索引-1表示获取倒数第一个字符,索引-2表示获取倒数第二个字符。为什么正序号的索引从0开始,而倒序不能从0开始?因为索引为0不能同时表示两个字符,所以会造成指令冲突。print(man[-1])#i超出索引范围,报IndexError错误。print(man[8])string截取index一次只能获取一个字符,slice可以一次获取多个字符。如果你想得到一个字符串的一些子串,你可以通过切片来实现。切片的表示方法是:var[start:end]。start表示开始位置的索引号,end表示结束位置的索引号,但不包括end。girl="SmileMomo"part_of_girl=girl[0:1]print(part_of_girl)#S切片的索引号也可以为负数,但是使用的时候要保证end在start的右边,end-start>0.girl="SmileMomo"print(girl[0:-2])#Smileprint(girl[-2:-4])#空字符串,如果取不到的字符切片的索引号outofrange,不会报错,一直取到最后。girl="SmileMomo"print(girl[0:100000000000])切片的开始和结束都可以省略。girl[1:]girl[:-1]girl[:]slice可以加第三个参数girl[start:end:step],其实在使用slice的时候默认步长是1。girl[0:3:2]stringreversesequenceoutputstepsize为-1,表示从后往前数,girl[::-1]将字符串倒序。girl[::-1]获取字符串长度len(girl)字符串格式化相当于一个模板,模板中的一些空缺需要动态填充数据。from_name='张三'title='学费'money=500to_name='李四'info=f"""今天收到{from_name}并转交{title}元{money}给受益人{to_name}"""更高级的字符串模板可以使用template,主要是防止用户输入影响程序安全。一般我们在web开发中的模板渲染都是基于这种技术。字符串拆分split将字符串按分隔符拆分,拆分后得到一个列表。如果未指定定界符,则整个字符串将存储为列表中的唯一元素。girls='Lucy-Monic-Jessy'girl_list=girls.split('-')print(girl_list)#['Lucy','Monic','Jessy']girl_list=girls.split()print(girl_list)#['Lucy-Monic-Jessy']字符串拼接的join方法是split的逆向应用,可以通过特定的连接符将一个列表组合成一个字符串。a=['hello','world']b="".join(a)print(b)字符串搜索通常,您可以使用find或index来查找简单的字符:a="helloworld"a.find("he")但如果涉及复杂的匹配规则,一般使用正则表达式。字符串匹配正则表达式很无聊。在没有具体的实战场景之前,建议不要花太多时间去提前了解,否则浪费时间,过几天就忘记了。这里简单的写一个匹配规则,也就是匹配一个数字。importrestring="ayu7o99"re.search("\d",string)stringreplacementreplace替换某个子串。但是,原来的数据不会改变,只是替换后的字符串会用一个新的变量来表示。a="灵魂小芳"b=a.replace("灵魂","灵魂歌手")print(b)#灵魂歌手小芳print(a)#灵魂小芳stringdeleteastringisimmutable该数据类型不能真正删除a一定的字符,但是我们可以使用replace方法间接实现,将指定的字符串替换为空字符串。a="灵魂小芳"#去掉oub=a.replace('ou','')自动化测试场景1.用字符串表示测试用例username='jiubing1'password='123456'age=18print("UserFirstname",username)print("password",username)print("age",username)2.去掉空格username='jiubing1'first,last=username.split('')username=''.join([first,last])3.格式化输出user=f"""------------------------用户名:{username}密码:{password}年龄:{age}------------------------"""4.通过input打印出测试用例(模拟前端页面)5。访问URL拼接url=''full_url=f'{url}?username={username}&password={password}&age={age}'6.通过url获取所有参数(在内容后面)url,params=full_url.split('?')info=dict()forparaminparams.split('&'):key,value=param.split('=')info.update({键:值})打印(信息)