8天Python从入门到精通【itheima】-69~70(字符串的常见定义和操作+案例练习)

news2025/6/7 1:14:36

目录

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分析运动数据、爬取行业报告,甚至为社区开发工具。这些实践会让抽象的学习变成具体的价值。

关于学历与未来

学历是敲门砖,能力才是通行证。 我年轻时也曾因家境贫寒被迫辍学打工,但从未停止自学。你的专升本计划非常明智,这是现实社会必要的阶梯。但请记住:技术行业更看重作品而非文凭。建议你:

  1. 阶梯式成长:专科期间聚焦大数据证书(如AWS/Cloudera认证);

  2. 用作品说话:在GitHub持续更新数据分析项目;

  3. 精准提升学历:选择与大数据相关的本科专业,硕士再进阶算法或AI方向。

关于健康与家庭

每天运动3小时已远超常人毅力!健康是终身战斗的基石,但需科学规划:

  • 与医生制定可持续的训练方案,避免过度消耗;

  • 邀请母亲参与一次复诊,让专业医生帮助她理解你的努力与局限;

  • 记录运动数据(如心率、体脂变化),用事实展现进步。

关于信息焦虑

互联网的噪音需要主动过滤

  1. 相信一手信息:多读技术官方文档、IEEE论文;

  2. 锁定榜样:在LinkedIn追踪3-5位大数据领域从业者的成长路径;

  3. 限定信息源:每天只留30分钟浏览行业新闻,拒绝碎片化阅读。

最后的话

Patrick,你身上有太多我年轻时的影子:那种在黑暗中咬牙前行的倔强,那种渴望突破阶层的不甘。疾病或许拖慢了你的脚步,但也赐予了你常人难及的坚韧。 请相信:

“人生不是短跑,而是带着枷锁的马拉松。那些压不垮你的重负,终将成为你超越他人的跑道。”

你担心的“无用之人”,绝不会是一个每日精进的技术者、一个与疾病抗争的勇士、一个在书籍中寻找光亮的思考者。保持这三点,你的人生绝不会黯淡。

期待听到你未来的好消息。

此致
李明博


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2402320.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GC1809:高性能音频接收与转换芯片

GC1809 是一款高性能音频接收与转换芯片&#xff0c;适用于多种音频设备&#xff0c;如 A/V 接收器、多媒体音响设备、机顶盒等。本文将简要介绍该芯片的主要特性、性能参数及应用。 主要特性 多协议兼容&#xff1a;兼容 IEC60958、S/PDIF、EIAJ CP1201 和 AES3 协议。 多种…

项目实战——C语言扫雷游戏

这是一款9*9的扫雷游戏 扫雷游戏 1.需求分析2.程序框架设计3.分函数实现打印游戏菜单界面游戏主逻辑函数程序主入口初始化游戏棋盘随机布置地雷显示当前棋盘状态计算指定位置周围的地雷数量玩家排雷主逻辑 4.分文件实现&#xff08;1&#xff09;test.c&#xff08;2&#xff0…

【Java】CopyOnWriteArrayList

一&#xff0c;概述 CopyOnWriteArrayList作为List接口的实现之一&#xff0c;它区分于ArrayList在于它是线程安全的。如它名字一样&#xff0c;所有的写操作均复制了原数组的值&#xff0c;虽说代价较大&#xff0c;但读多写少的环境下&#xff0c;是可接受的。笔者在此简单看…

C#入门学习笔记 #8(委托)

欢迎进入这篇文章,文章内容为学习C#过程中做的笔记,可能有些内容的逻辑衔接不是很连贯,但还是决定分享出来,由衷的希望可以帮助到你。 笔记内容会持续更新~~ 本章介绍C#中的委托,本章难度较大... 委托 C#中的委托是C语言、C++中函数指针的升级版。接下来介绍一个概念—…

CSS 3D 变换中z-index失效问题

CSS 3D 变换中 z-index 失效问题 1. z-index 失效了 在 CSS 中&#xff0c;z-index 通常用于控制元素的层叠顺序&#xff0c;数值越大&#xff0c;元素越靠前显示。在 3D 变换&#xff08;如 rotateX、translateZ&#xff09; 中使用 z-index 时&#xff0c;可能会发现z-inde…

Tailwind CSS 实战:基于 Kooboo 构建 AI 对话框页面(七):消息框交互功能添加

Tailwind CSS 实战&#xff0c;基于Kooboo构建AI对话框页面&#xff08;一&#xff09; Tailwind CSS 实战&#xff0c;基于Kooboo构建AI对话框页面&#xff08;二&#xff09;&#xff1a;实现交互功能 Tailwind CSS 实战&#xff0c;基于 Kooboo 构建 AI 对话框页面&#x…

【计算机网络】网络层IP协议与子网划分详解:从主机通信到网络设计的底层逻辑

&#x1f525;个人主页&#x1f525;&#xff1a;孤寂大仙V &#x1f308;收录专栏&#x1f308;&#xff1a;计算机网络 &#x1f339;往期回顾&#x1f339;&#xff1a; 【计算机网络】传输层TCP协议——协议段格式、三次握手四次挥手、超时重传、滑动窗口、流量控制、 &…

基于WSL搭建Ubnutu 20.04.6 LTS(二)-部署Docker环境

Docker是一组平台即服务&#xff08;PaaS&#xff09;的产品。它基于操作系统层级的虚拟化技术&#xff0c;将软件与其依赖项打包为容器。托管容器的软件称为Docker引擎。Docker能够帮助开发者在轻量级容器中自动部署应用程序&#xff0c;并使得不同容器中的应用程序彼此隔离&a…

【图像处理入门】6. 频域图像处理:傅里叶变换与滤波的奥秘

摘要 频域图像处理通过傅里叶变换将图像从空间域转换到频率域,为图像增强、去噪、压缩等任务提供全新视角。本文将深入解析傅里叶变换原理,介绍低通、高通滤波的实现方式,结合OpenCV和Python代码展示频域滤波在去除噪声、增强边缘中的应用,帮助读者掌握图像频域处理的核心…

基于开源AI智能名片链动2+1模式S2B2C商城小程序的生态农庄留存运营策略研究

摘要&#xff1a;本文聚焦于生态农庄运营中的游客留存问题&#xff0c;以村长与乡亲们吸引游客进村为背景&#xff0c;深入探讨如何借助开源AI智能名片链动2 1模式S2B2C商城小程序实现游客的有效留存。通过分析该小程序在信息传递、服务整合、营销激励等方面的优势&#xff0c…

Jenkins实现自动化部署Springboot项目到Docker容器(Jenkinsfile)

Jenkins实现自动化部署Springboot项目到Docker容器 引言:为什么需要自动化部署? 在软件开发中,频繁的手动部署既耗时又容易出错。通过 Docker + Jenkins + Git 的组合,您可以实现: ✅ 一键部署:代码推送后自动构建和部署🐳 环境一致性:Docker 确保开发、测试、生产环…

【Linux】Git原理与使用

编程不仅是解决问题的艺术&#xff0c;更是对复杂性进行优雅管理的哲学。 前言 这是我自己学习Linux系统编程的第三篇笔记。后期我会继续把Linux系统编程笔记开源至博客上。 上一期笔记是关于Vim文本编辑器知识&#xff1a; 【Linux】Vim文本编辑器-CSDN博客https://blog.csdn…

A*算法实现原理以及实现步骤(C++)

算法原理&#xff1a; A*算法是一种启发式搜索算法&#xff0c;用于在图中寻找最短路径。它结合了Dijkstra算法的确保最短路径的优点和贪心最佳优先搜索的高效性。其核心在于使用一个评估函数&#xff1a; f(n) g(n) h(n) 其中&#xff1a; - g(n) 表示从起点到节点n的实际代…

Devops自动化运维---py基础篇一

python基础篇 1、基本数据类型 2、算术运算符 3、变量 变量&#xff1a;编程语言中能储存结果或能表示值的抽象概念 用途&#xff1a;用一段数据赋予一个简短、易于记忆的名字&#xff0c;方便重复使用3.1 格式转化变量 操作符号描述%s字符串%d整数%f浮点数 实例&#xff1…

平安养老险蚌埠中心支公司开展金融宣教活动

近日&#xff0c;平安养老保险股份有限公司&#xff08;以下简称“平安养老险”&#xff09;蚌埠中心支公司&#xff0c;走进某合作企业开展金融教育宣传活动。 活动现场&#xff0c;平安养老险蚌埠中心支公司工作人员通过发放宣传手册和小礼品等方式&#xff0c;向企业员工普…

Redisson简明教程—你家的锁芯该换了

1.简介 各位攻城狮们&#xff0c;你还在使用原生命令来上锁么&#xff1f;看来你还是不够懒&#xff0c;饺子都给你包好了&#xff0c;你非要吃大饼配炒韭菜&#xff0c;快点改善一下“伙食”吧&#xff0c;写代码也要来点幸福感。今天咱们就来聊聊Redisson提供的各种锁&#…

48V带极性反接保护-差共模浪涌防护方案

在工业自动化&#xff08;电动机驱动 / 工业机器人&#xff09;、交通基础设施&#xff08;充电桩 / 车载电子&#xff09;、安防系统&#xff08;监控摄像头 / 门禁&#xff09;、储能设备&#xff08;BMS / 离网控制器&#xff09;等领域&#xff0c;DC48V 电源因安全特低电压…

Python----目标检测(使用YOLO 模型进行线程安全推理和流媒体源)

一、线程安全推理 在多线程环境中运行YOLO 模型需要仔细考虑&#xff0c;以确保线程安全。Pythons threading 模块允许您同时运行多个线程&#xff0c;但在这些线程中使用YOLO 模型时&#xff0c;需要注意一些重要的安全问题。本页将指导您创建线程安全的YOLO 模型推理。 1.1、…

jvm学习第1day jvm简介,栈溢出、堆溢出

jvm学习第1day jvm简介&#xff0c;栈溢出、堆溢出 jvm简介栈线程安全栈溢出线程运行诊断堆堆溢出 方法区方法区内存溢出常量池和运行时常量池 jvm简介 jvm 是编译后的字节码文件运行的环境&#xff0c; 因此各个平台有了jvm可以运行java.class文件&#xff0c;这是Java跨平台…

用广告维持的免费 AI 图像生成工具(个人项目分享)

用广告维持的免费 AI 图像生成工具&#xff08;个人项目分享&#xff09; 免费 AI 图像生成工具网址&#xff1a;https://aiart.gcc.ac.cn/ 最近做了一个 AI 图像生成器&#xff0c;主要目标是“尽量简单”&#xff1a; 打开网页就能用不用注册、不用登录免费&#xff0c;不…