做淘宝图的素材搜索网站,美御品牌推广,wordpress主题错位,网站设计描述文章目录 [toc]什么是字符串索引示例索引越界 切片语法示例 字符串方法find()方法rfind()方法count()方法replace()方法 个人主页#xff1a;丷从心
系列专栏#xff1a;Python基础 什么是字符串
如下定义的变量url存储的是字符串类型的值
url www.baidu.com
print(url)u… 文章目录 [toc]什么是字符串索引示例索引越界 切片语法示例 字符串方法find()方法rfind()方法count()方法replace()方法 个人主页丷从心
系列专栏Python基础 什么是字符串
如下定义的变量url存储的是字符串类型的值
url www.baidu.com
print(url)url www.baidu.com
print(url)www.baidu.com
www.baidu.com单引号或双引号括起的数据就是字符串通过type()函数可以查看其数据类型
url www.baidu.com
print(type(url))url www.baidu.com
print(type(url))class str
class str索引
索引就是标记内存空间地址的一个数字也可称为下标对于字符串str abcdef索引从 0 0 0开始在内存中的存储方式如下
索引 0 0 0索引 1 1 1索引 2 2 2索引 3 3 3索引 4 4 4索引 5 5 5 a a a b b b c c c d d d e e e f f f
索引也可以为负数对于字符串str abcdef索引为负数时的情况如下
索引 − 1 -1 −1索引 − 2 -2 −2索引 − 3 -3 −3索引 − 4 -4 −4索引 − 5 -5 −5索引 − 6 -6 −6 f f f e e e d d d c c c b b b a a a
示例
通过使用[]加上索引的方式获取对应索引处的数据
str abcdefprint(str[0])
print(str[1])
print(str[2])a
b
cstr abcdefprint(str[-1])
print(str[-2])
print(str[-3])f
e
d索引越界
索引对应内存地址是有范围的对于字符串str abcdef其索引范围为 0 0 0到 5 5 5如果使用索引“ 6 6 6”会发生数组越界产生异常
str abcdefprint(str[6])Traceback (most recent call last):File C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】容器类型/test.py, line 3, in moduleprint(str[6])
IndexError: string index out of range切片
切片就是截取操作对象中一部分数据的操作例如对于字符串str abcdef可以通过切片获取到字符串abc
语法
[起始索引:结束索引:步长]选取的数据范围从“起始索引”开始到“结束索引”的前一位结束即不包含结束索引步长表示选取数据的间隔不使用步长时默认为 1 1 1
示例
取索引 0 0 0到 2 2 2包含的字符不包含索引 3 3 3
str abcdefprint(str[0:3])abc如果“起始索引”为空则表示起始索引为 0 0 0
str abcdefprint(str[:3])abc如果“结束索引”为空则表示从起始索引开始一直取到最后一个索引
str abcdefprint(str[3:])def取索引 1 1 1到最后一个字符之前的字符
str abcdefprint(str[1:-1])bcde以 2 2 2为步长从索引 0 0 0开始取到最后一个索引结束
str abcdefprint(str[::2])ace以上情况都是步长为正数时的情况如果步长为负表示从右向左取数据此时“起始索引”应大于“结束索引”
str abcdefprint(str[3:0:-1])dcb此时从右向左取到的是索引 3 3 3到索引 1 1 1包含的字符不包含索引 0 0 0的字符 从最右取到最左的字符
str abcdefprint(str[::-1])fedcba字符串方法
find()方法
str_obj.find(sub, startNone, endNone)判断字符串sub是否在索引start到索引end内包含在字符串str_obj中即判断字符串sub是否是字符串str_obj的子串如果是则返回字符串sub在字符串str_obj中在索引start到索引end内第一次出现处的开始索引否则返回 − 1 -1 −1start和end默认值为None表示从索引 0 0 0到最后一个索引结束
url www.baidu.comprint(url.find(baidu))
print(url.find(www, 0, 2))
print(url.find(www, 0, 3))4
-1
0可以看到取值范围仍然不含索引end只到索引end前一位的数据
rfind()方法
str_obj.rfind(sub, startNone, endNone)与find()方法类似只是从最右侧开始查找返回字符串从最右侧第一次出现处的开始索引
url www.baidu.baidu.comprint(url.rfind(baidu))
print(url.find(baidu))10
4count()方法
str_obj.count(sub, startNone, endNone)返回字符串sub在索引start到索引end内在字符串str_obj中出现的次数
url www.baidu.baidu.comprint(url.count(baidu))2replace()方法
str_obj.replace(str1, str2, countNone)将字符串str_obj中的子串str1替换为字符串str2不超过conut次count默认值为None表示将字符串str_obj中的子串str1全部替换为字符串str2
url www.baidu.baidu.baidu.comprint(url.replace(baidu, goole, 2))www.goole.goole.baidu.com