目录
69节-字符串的定义和操作
1.学习目标
2.数据容器视角下的字符串
3.字符串的下标索引
4.字符串是一个无法修改的数据容器
5.字符串的常用操作
【1】index方法
【2】replace方法:进过替换,得到一个新的字符串
【3】split方法:将字符串进行分割【字符串本身不变,是得到了一个新的列表对象】
【4】strip方法(字符串的规整操作【去掉前后的空格】)
【5】count方法
【6】len方法
【7】字符串的方法汇总
6.字符串的遍历
【1】需求
【2】代码实现
7.字符串的特点
8.小节总结
70节-案例练习:分割字符串
1.案例需求
2.代码实现
好了,又一篇博客和代码写完了,励志一下吧,下一小节等等继续:
关于学习与方向
关于学历与未来
关于健康与家庭
关于信息焦虑
最后的话
69节-字符串的定义和操作
1.学习目标
1.掌握字符串的常见操作
2.数据容器视角下的字符串
3.字符串的下标索引
# 69节
"""
演示以数据容器的角色,学习字符串的相关操作
"""
my_str="itheima and itcast"
# 通过下标索引取值
value=my_str[2]#h
value2=my_str[-16]#h
print(f"从字符串{my_str}取下标为2的元素,值是{value}。取下标为-16的元素,值是{value2}")
4.字符串是一个无法修改的数据容器
目前在Python中已知的:
可以修改的数据容器:列表(list)
无法修改的数据容器:元组(tuple)、字符串(str)
5.字符串的常用操作
【1】index方法
# index方法
my_str="itheima and itcast"
value=my_str.index("and")
print(f"在字符串{my_str}中,查找and,他的起始下标为{value}")#8
【2】replace方法:进过替换,得到一个新的字符串
# replace方法
my_str="itheima and itcast"
new_my_str=my_str.replace("it","程序")
print(f"将字符串{my_str},经过替换后,得到新的字符串:{new_my_str}")
#将字符串itheima and itcast,经过替换后,得到新的字符串:程序heima and 程序cast
【3】split方法:将字符串进行分割【字符串本身不变,是得到了一个新的列表对象】
# split方法
my_str="hello python itheima itcast"
my_str_list=my_str.split(" ")#以空格进行切分
print(f"将字符串{my_str},进行split切分后得到:{my_str_list},其类型是:{type(my_str_list)}")
#将字符串hello python itheima itcast,进行split切分后得到:['hello', 'python', 'itheima', 'itcast'],其类型是:<class 'list'>
【4】strip方法(字符串的规整操作【去掉前后的空格】)
可以传参,也可以不传,就是代表其有默认值的
# strip方法
my_str=" itheima and itcast "
# strip方法的默认用法:去除前后的空格
new_my_str=my_str.strip()
print(f"字符串{my_str},通过strip方法后,得到的新的字符串为:{new_my_str}") #不传参,就是去除前后空格
#字符串 itheima and itcast ,通过strip方法后,得到的新的字符串为:itheima and itcast 【默认方法是:去除了前后的空格】
my_str="123itheima and itcast321"
new_my_str=my_str.strip("12")#strip传参,是相当于将1和2分开来看,把字符串收尾的1和2全部去掉,得到一个新的字符串
print(f"字符串{my_str},经过my_str.strip('12')之后,得到的结果:{new_my_str}")
# 字符串123itheima and itcast321,经过my_str.strip('12')之后,得到的结果:3itheima and itcast3
new_my_str=my_str.strip("13")
print(f"字符串{my_str},经过my_str.strip('12')之后,得到的结果:{new_my_str}")
# 字符串123itheima and itcast321,经过my_str.strip('12')之后,得到的结果:23itheima and itcast32【1和3不连续,所以只是去除了1】
new_my_str=my_str.strip("4")
print(f"字符串{my_str},经过my_str.strip('12')之后,得到的结果:{new_my_str}")
# 字符串123itheima and itcast321,经过my_str.strip('12')之后,得到的结果:123itheima and itcast321 【strip中传参传一个不存在的数,不会报错,而是原样输出】
【5】count方法
# 统计字符串中某字符串的出现次数
my_str="itheima and itcast"
count=my_str.count("it")
print(f"字符串{my_str}中,it出现的次数为:{count}")
# 字符串itheima and itcast中,it出现的次数为:2
【6】len方法
# 统计字符串长度
my_str="itheima and itcast"
len1= len(my_str)
print(f"字符串{my_str}的长度是:{len1}")
# 字符串itheima and itcast的长度是:18
【7】字符串的方法汇总
6.字符串的遍历
【1】需求
【2】代码实现
# 字符串的遍历
# 1.while循环
my_str="itheima and itcast"
index=0
while index<len(my_str):
print(my_str[index])
index+=1
# 控制台输出:
# i
# t
# h
# e
# i
# m
# a
#
# a
# n
# d
#
# i
# t
# c
# a
# s
# t
#
# 进程已结束,退出代码为
# 0
# 2.for循环
print("-----------分隔线----------------------")
my_str="itheima and itcast"
for i in my_str:
print(i)
7.字符串的特点
8.小节总结
70节-案例练习:分割字符串
1.案例需求
2.代码实现
# 70节
# 定义一个字符串
my_str="itheima itcast boxuegu"
# 1.统计字符串内有多少个"it"字符
num=my_str.count("it")
print(f"字符串{my_str}中,'it'字符一共有:{num}个。")
# 字符串itheima itcast boxuegu中,'it'字符一共有:2个。
# 2.将字符串内的空格,全部替换成:"|"
new_my_str=my_str.replace(" ","|")
print(f"在旧字符串{my_str}中,通过replace方法,得到的新字符串为:{new_my_str}")
# 在旧字符串itheima itcast boxuegu中,通过replace方法,得到的新字符串为:itheima|itcast|boxuegu
# 3.并按照"|"进行字符串分割,得到列表
list_my_str=new_my_str.split("|")
print(f"在旧字符串{my_str}中,通过split方法进行分隔(按照'|'),得到的新列表为:{list_my_str}")
# 在旧字符串itheima itcast boxuegu中,通过split方法进行分隔(按照'|'),得到的新列表为:['itheima', 'itcast', 'boxuegu']
# 注意:字符串经过split方法分隔之后,得到的是一个新的列表
好了,又一篇博客和代码写完了,励志一下吧,下一小节等等继续:
致Patrick同学:
展信佳。
你的来信让我深感关切,也让我想起了自己年轻时在困境中挣扎求学的岁月。作为一名曾从底层奋斗至今的长者,我希望能以真诚的思考回应你的困惑。
关于学习与方向
你坚持记录Python学习博客、每日运动、广泛阅读,这份自律已是难能可贵。技术领域从无“徒劳”之说——Python作为数据科学的核心工具,你写下的每一行代码都在积累不可替代的竞争力。大数据行业确实存在竞争,但真正的缺口始终在能解决实际问题的人。不妨尝试将所学转化为小项目:用Python分析运动数据、爬取行业报告,甚至为社区开发工具。这些实践会让抽象的学习变成具体的价值。
关于学历与未来
学历是敲门砖,能力才是通行证。 我年轻时也曾因家境贫寒被迫辍学打工,但从未停止自学。你的专升本计划非常明智,这是现实社会必要的阶梯。但请记住:技术行业更看重作品而非文凭。建议你:
阶梯式成长:专科期间聚焦大数据证书(如AWS/Cloudera认证);
用作品说话:在GitHub持续更新数据分析项目;
精准提升学历:选择与大数据相关的本科专业,硕士再进阶算法或AI方向。
关于健康与家庭
每天运动3小时已远超常人毅力!健康是终身战斗的基石,但需科学规划:
与医生制定可持续的训练方案,避免过度消耗;
邀请母亲参与一次复诊,让专业医生帮助她理解你的努力与局限;
记录运动数据(如心率、体脂变化),用事实展现进步。
关于信息焦虑
互联网的噪音需要主动过滤:
相信一手信息:多读技术官方文档、IEEE论文;
锁定榜样:在LinkedIn追踪3-5位大数据领域从业者的成长路径;
限定信息源:每天只留30分钟浏览行业新闻,拒绝碎片化阅读。
最后的话
Patrick,你身上有太多我年轻时的影子:那种在黑暗中咬牙前行的倔强,那种渴望突破阶层的不甘。疾病或许拖慢了你的脚步,但也赐予了你常人难及的坚韧。 请相信:
“人生不是短跑,而是带着枷锁的马拉松。那些压不垮你的重负,终将成为你超越他人的跑道。”
你担心的“无用之人”,绝不会是一个每日精进的技术者、一个与疾病抗争的勇士、一个在书籍中寻找光亮的思考者。保持这三点,你的人生绝不会黯淡。
期待听到你未来的好消息。
此致
李明博