1. 字符串的定义
1.1 定义空字符串
空字符串:
字符串名=str()
字符串名=‘’
字符串名=“”
字符串名=‘’‘’‘’
字符串名=“”“”“”
1.2 定义非空字符串
字符串名=‘内容’
字符串名=“内容”
字符串名=‘’‘内容’‘’
字符串名=“”“内容”“”
2. 字符串的下标索引
下标索引: 就是咱们说的编号,也就是容器中每个元素的编号
正索引: 从0开始,从左到右,依次递增
负索引: 从-1开始,从右到左,依次递减
根据下标索引查找对应元素格式: 字符串[索引]
示例
3. 字符串的常用操作
字符串也是不可修改的,所以也只有查询操作。
3.1 类似列表和元组的查询操作:
字符串[索引]: 查找指定索引位置上的元素
字符串名.count(元素): 查找指定元素在字符串中出现的次数
字符串名.index(元素):从左往右查找指定元素在字符串中的索引位置,返回第一个正索引,如果不存在就报错
len(字符串名): 查询当前元组中所有元素的总个数
示例
3.2 特有查询操作:
字符串名.rindex(元素):从右往左查找指定元素在字符串中的索引位置,返回第一个正索引,如果不存在就报错
由于index和rindex查找执行中如果不存在就会报错,此时我们可以使用find操作查找
字符串名.find(元素):从左往右查找指定元素在字符串中的索引位置,返回第一个正索引,不存在就返回-1
字符串名.rfind(元素):从右往左查找指定元素在字符串中的索引位置,返回第一个正索引,不存在就返回-1
示例
3.3 其他特有操作:
大字符串.replace(旧子串,新子串): 把大字符串中所有的旧子串替换为新子串
此时我们得到的是一个新的字符串
如果有多个子串需要替换,此时我们使用链式编程。
示例
大字符串.split(分隔符,切割次数): 根据指定分隔符把一个大字符串切割成多个小字符串,放到列表中返回
注意: 如果没有写切割次数,则默认切割所有
示例
‘分隔符’,join(可迭代对象): 使用指定分隔符把可迭代对象中每个元素连接到一起,生成字符串返回
示例
结果:苹果,梨,橘子,香蕉 <class ‘str’>
大字符串.strip(): 默认去除大字符串两端的空白,当然也可以指定要去除两端的字符
大字符串.lstrip(): 默认去除大字符串左端的空白
大字符串.rstrip(): 默认去除大字符串右端的空白
示例
大字符串.startswitch(子串): 判断大字符串是否以指定的子串开头
大字符串.endswitch(子串): 判断大字符串是否以指定的子串结尾
示例
字符串.upper(): 把字符串中所有的字母都转换为大小大写字母
字符串.isupper() : 判断是否是大写
字符串.lower(): 把字符串中所有的字母都转换为大小小写字母
字符串.islower() : 判断是否是小写
示例
4.字符串的遍历
4.1 for循环遍历
for 元素名 in 元组:
操作元素
4.2 while循环遍历
核心思想: 利用while变量作为元组的索引使用
index = 0
while index < len(元组):
元素名 = 元组[index]
操作元素
index+=1
4.3 对比
while循环和for循环,都是循环语句,但细节不同:
在循环控制上:
while循环可以自定循环条件,并自行控制
for循环不可以自定循环条件,只可以一个个从容器内取出数据
在无限循环上:
while循环可以通过条件控制做到无限循环
for循环理论上不可以,因为被遍历的容器容量不是无限的
在使用场景上:
while循环适用于任何想要循环的场景
for循环适用于,遍历数据容器的场景或简单的固定次数循环场景
示例
5.字符串的特点
1.可以存储多个元素
2.只能存储字符串类型
3.支持下标索引
4.不支持修改
5.支持重复
6.支持for循环
7.支持while循环