字符串&操作
Python可以操作str类型的字符串,从单个字符”。”到句子”I am python”。
一般字符串都是可以使用成对的单引号或双引号标示
单双引号标示
1 | str1 = "123" # 使用了单引号标示,这个时候是字符串(文本), 而不是数字123 |
但如果我们的字符串里面本身就需要展示出单引号或双引号呢?
这个时候我们就可以采用双引号包含单引号的方法,或反过来
1 | str1 = "I 'm python" # 双引包含单引 |
转义
要标示引号本身,还可以采用转义的方法,即加上”"
1 | "he said,\"python is good\"" |
如果我们不使用转义,python会因为无法识别这个语法,给出了SyntaxError的情况
1 | "he said,"python is good"" |
应用场景
像我们在自动化测试中常见的JSON字符串的问题,假定我们这些参数放在excel/yaml,在自动化接口测试要提取参数,插件直接给我们返回的字符串没问题,要进行参数化的时候就哦豁了~
1 | { |
插件读取后,当我们要进行json化
1 | # python: 丸辣,冲我来的,这是个什么造型,双引号包含双引号?算了,给个SyntaxError语法错误吧 |
正确做法,假定我们在其他文件中是这样写的
1 | { |
转为字符串就像str1的值那样
1 | "{\"name\": \"ace020\"}" str1 = |
字符串拼接
使用 + 号拼接字符串
1 | "I am " str1 = |
相邻的字符串字面值会自动合并
这里没有使用+号,而是两段字符串,相邻在一起,字符串前后和中段位置,两段字符串使用了4个单引号
1 | 'The more efforts you make, ''the more fortune you get.' text = |
但是要注意,只能用于字面值,不能用于变量,拼接与变量相关时,可以使用加号
1 | # python:又一个语法错误,你们有没有好好学习文档啊 |
索引
字符串支持索引访问,索引也称为下标。第一个字符的索引是0,最后一个字符的索引是字符串的长度 - 1
正数索引
1 | "python"[0] |
1 | "python" str1 = |
负数索引
索引还能搞负数的?那咱们试一下
1 | "python"[-1] |
原来负数是从尾到头。。。
字符串切片
字符串:没人为我花生吗?都要把我切片了~
作者:嘿嘿嘿~~~~~~咱们开始吧~
要注意的第一点:切片是左闭右开的,数学中表示为[0, 2),在python中 str1[0:2],表示从索引0开始,到1结束。或者按照官方的解释,截取字符串的长度是索引之差
要注意的第二点:切片就算给了负数索引,也是从左到右切片
1 | "python"[0:2] |
参考官方文档给的解释
1 | +---+---+---+---+---+---+ |
那么我只想截取一个范围呢
1 | "python"[3:] |
索引越界
先上代码
1 | "python"[-10:] |
原来我们用切片处理的时候,python会帮我们处理切片越界的问题。
但是直接使用索引读取某个字符,会报IndexError索引错误的错。
预告
字符串还拥有着很多的处理方法。暂且不表,咱们先了解清楚数据类型,后续再讲操作。
下一期列表~
参考资料:
https://docs.python.org/zh-cn/3.11/tutorial/introduction.html#lists