day9_字符串详解
文章目录
一、数据类型的可变与不可变
数据类型:
-
数值类型:整型(int)、浮点型(float)、布尔类型(bool)
-
序列类型: 有序:字符串(str)、列表(list)、元组(tuple)
无序:集合(set)、字典(dict)
数据类型的可变与不可变:【获取变量地址:id()】
-
可变【列表、集合、字典】:该类型的值进行修改后,内存地址不变。
-
不可变【数值类型、字符串、元组】:该类型的内存地址随着值的修改而修改。
二、字符串
2.1 字符串的增加
2.1.1 字符串的拼接( + )
#1)
print('今天是'+'第9天')
#2)
str1 = '今天是'
str2 = '第9天'
str3 = str1 + str2
print(str3)
2.1.2 字符串的重复输出( * )
str4 = '又是落课的一天'
print(str4*3)
2.2 字符串的修改与删除
2.2.1 replace()方法
格式:
1)字符串名.replace('要修改的字符','替换字符')
2)字符串名.replace('要修改的字符','替换字符',替换次数)
-
将替换字符变为空字符,即为删除
-
修改字符串后必须赋值给新的字符串
示例:
str1 = '今天又是落课的一天'
#1)替换
res1 = str1.replace('今天又','昨天')
print(res1)
#2)删除
res2 = str1.replace('今天','')
print(res2)
#3)重复数据的替换
res3 = str1.replace('天','日',1)
print(res3)
2.2.2 split()方法
格式:
字符串名.split('切割字符')
#切割后会将两个字符串保存到列表中,切割字符会被切掉
示例:
str1 = '今天又是落课的一天'
res1 = str1.split('又')
print(res1)
2.2.3 去除空格
- strip():去除字符串首尾空格
- lstrip():去除字符串左边的空格
- rstrip():去除字符串右边的空格
str1 = ' 今天又落课 '
#1)去除字符串首尾空格
res1 = str1.strip()
print(res1)
#2)去除字符串左边的空格
res2 = str1.lstrip()
print(res2)
#3)去除字符串右边的空格
res3 = str1.rstrip()
print(res3)
2.2.4 字母大小写的切换
- upper()方法:将字符串中的字符全部大写
- lower()方法:将字符串中的字符全部小写
- title()方法:将字符串中的单词首字母大写
str1 = 'how are you'
#1)全部大写
res1 = str1.upper()
print(res1)
#2)全部小写
res2 = str1.lower()
print(res2)
#3)首字母大写
res3 = str1.title()
res4 = res1.title()
print(res3,res4)
2.3 字符串的查询
2.3.1 find()方法
查询字符的下标。
- 查询字符不存在:返回值为-1
- 查询字符出现多次:返回值为下标最小的那个
- 查询多个字符:连续字符的返回值为首字符的下标;不连续字符的返回值为-1
格式:
1)字符串名.find('要查询的字符')
2)字符串名.find('要查询的字符',起始值,终点值)
【在指定区间查询(起点值必写,终点值可不写)】
示例:
str1 = '今天又是落课的一天'
#1)查询字符不存在
print(str1.find('明'))
#2)查询出现多次的字符
print(str1.find('天'))
#3)查询连续的多个字符
print(str1.find('又是'))
#4)查询不连续的多个字符
print(str1.find('又落'))
#5)在指定区间查询
print(str1.find('天',4))
print(str1.find('天',0,4))
2.3.2 endswith()方法
判断字符串末尾的字符是否与我们指定的字符相同,返回值为bool。
格式:
字符串名.endswith('指定字符')
示例:
str1 = '今天又是落课的一天'
#1)指定在末尾的单个字符
print(str1.endswith('天'))
#1)指定不在末尾的单个字符
print(str1.endswith('是'))
#3)指定在末尾的连续字符
print(str1.endswith('一天'))
#4)指定不在末尾的连续字符
print(str1.endswith('又是'))
#5)指定不连续字符
print(str1.endswith('的天'))
2.3.3 isdigit()方法
判断字符串是否为纯数字,返回值为bool。
格式:
字符串名.isdigit()
示例:
tr1 = '12345'
print(str1.isdigit())
str2 = '123 45'
print(str2.isdigit())
str3 = '123.45'
print(str3.isdigit())
str4 = '123afet45'
print(str4.isdigit())
2.3.4 isalpha()方法
判断字符串是否都为字符(中、英文),返回值为bool。
格式:
字符串名.isalpha()
示例:
str1 = 'abc一二三'
print(str1.isalpha())
str2 = 'abc一二三123'
print(str2.isalpha())
str3 = 'abc+一二三'
print(str3.isalpha())
2.3.5 count()方法
统计字符次数
格式:
字符串名.count()
示例:
str1 = 'abbbbbc一二三'
print(str1.count('b'))
2.3.6 len()函数
统计序列的长度。
格式:
len(序列名)
示例:
str1 = '12345'
print(len(str1))
list1 = [1,2,3,4]
print(len(list1))
tuple1 = (1,2,3)
print(len(tuple1))
字符次数
格式:
字符串名.count()
示例:
str1 = 'abbbbbc一二三'
print(str1.count('b'))
2.3.6 len()函数
统计序列的长度。
格式:
len(序列名)
示例:
str1 = '12345'
print(len(str1))
list1 = [1,2,3,4]
print(len(list1))
tuple1 = (1,2,3)
print(len(tuple1))