Python3字符串基础:创建方式与find/index/count查找方法详解

江岸
江岸
发布时间:2026-10-16 | 5人浏览过
原创

本文详细介绍Python3中字符串的三种创建方式,重点解析find、index和count三个常用查找方法的语法、参数及返回值差异,通过代码示例展示如何指定查找范围及处理未找到字符的情况。

一、字符串的基本概念

在Python中,字符串是最基础且常用的数据类型之一,通常通过引号包裹文本来创建。具体而言,字符串的创建支持三种引号形式:单引号('')、双引号("")以及三引号("""""")。前两种形式在功能上基本一致,主要区别在于三引号允许字符串内容跨越多行,而单双引号创建的字符串若需换行则需使用反斜杠转义。

具体创建示例如下:

# 双引号
a = "hello world"
print(a)
# 输出结果:hello world

# 单引号
b = 'hello world'
print(b)
# 输出结果:hello world

# 三引号
v = """
一曲新词酒一杯,
去年天气旧亭台。
夕阳西下几时回,
无可奈何花落去。
似曾相识燕归来,
小园相近独徘徊。
"""
print(v)
# 输出结果:一曲新词酒一杯,
# 去年天气旧亭台。
# 夕阳西下几时回,
# 无可奈何花落去。
# 似曾相识燕归来,
# 小园相近独徘徊。

# 而对比双引号时,则无法进行换行输出
c = "千秋万古," \
"为留带骚人。" \
"狂歌痛饮," \
"来访雁秋处。"
print(c)
# 输出结果:千秋万古,为留带骚人。狂歌痛饮,来访雁秋处。

二、字符串的查找与统计方法

1. find()方法:用于检测子字符串是否存在于目标字符串中。若存在,返回该子字符串首次出现位置的索引值;若不存在,则返回-1。

语法格式为:字符串序列.find(子字符串, 起始索引, 结束索引)。需要注意的是,索引取值范围遵循左闭右开原则,即包含起始索引,不包含结束索引。

代码演示如下:

str1 = 'hello world and python'
print(str1.find('hello')) # 开始和结束下标可以省略,表示在整个字符串中查找,默认是从左往右找找到第一个就返回,不会再往后找了
# 输出结果:0

print(str1.rfind('and')) # 表示在整个字符串中查找是从右往左找,找到第一个就返回,不会再往后找了
# 输出结果:12

print(str1.find('and', 10, 20)) # 在10到19这个区间,查找“and”
# 输出结果:12

print(str1.find('hei')) # 如果没有返回-1
# 输出结果:-1

2. index()方法:同样用于检测子字符串是否存在。若存在,返回其首次出现的索引值;但与find()不同,若子字符串不存在,index()会直接抛出ValueError错误。

语法格式为:字符串序列.index(子字符串, 起始索引, 结束索引)。索引取值范围同样遵循左闭右开原则。

代码演示如下:

str1 = 'hello world and python'
print(str1.index('python')) # 如果是rindex则是从右侧开始查找
# 输出结果:16

print(str1.index('123')) # 查找不存在的字符串
# 输出结果:直接报错(ValueError: substring not found)

3. count()方法:用于统计指定子字符串在目标字符串中出现的总次数。

语法格式为:字符串序列.count(子字符串, 起始索引, 结束索引)。索引取值范围依旧遵循左闭右开原则。

代码演示如下:

str1 = 'hello world and python'
# 开始和结束下标可以省略,表示在整个字符串中查找,
print(str1.count('h')) # 表示找h在字符串的次数 如果没有就返回0
# 输出结果:2

print(str1.count('h', 3, 19)) # 指定下标范围进行查找
# 输出结果:0

以上内容涵盖了Python3中字符串的基础创建及三种核心查找统计方法。如需了解更多Python字符串操作技巧,可参考本站过往文章或继续浏览后续相关内容,感谢支持。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表