day9_字符串详解

day9_字符串详解

一、数据类型的可变与不可变

数据类型:

  1. 数值类型:整型(int)、浮点型(float)、布尔类型(bool)

  2. 序列类型: 有序:字符串(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))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值