发布时间:2026/9/7 9:27:10
快速学习Python基础知识详细图文教程4--容器1--字符串 来源引用网络知识与某站曹老师视频相互结合学习记录仅供参考Python 基础知识四、容器容器是一种可以存储多个元素的数据类型Python 中的容器有字符串 str、列表 list、元组 tuple、集合 set、字典 dict;统计“长度或数量”一般使用 len() 函数每个容器都有。1、 字符串字符串是多个字符的集合与元组同样是无法修改字符串内容的它也是常量使用引号单引号、双引号、三引号字符串的定义字符串变量内容字符串变量字符串变量str()# 赋值定义一个字符串 str1 hello word print(f字符串str1 {str1}类型是{type(str1)} ) # 定义一个空字符串 str2 print(f字符串str2 {str2}类型是{type(str2)} ) # 使用面向对象的方式定义一个空字符串 str3 str() print(f字符串str3 {str3}类型是{type(str3)} ) 运行结果 字符串str1 hello word类型是class str 字符串str2 类型是class str 字符串str3 类型是class str字符串的下标索引字符串的下标索引的用法几乎和列表、元组的下标索引用法一样可以通过字符串的下标索引获取字符串中的元素下标索引从 0 开始第一个元素下标索引是 0第二个元素下标索引是 1......第 N 个元素下标索引是 N-1或者通过反向索引也可以获取字符串元素索引从-1 开始倒数第二个元素下标索引是-2......倒数第 N 个元素的下标索引是 -N字符串 str123456......N-1N正索引012345......N-2N-1负索引-N-(N-1)-(N-2)-(N-3)-(N-4)-(N-5)......-2-1-N1-N2-N3-N4-N5......注意点字符串的下标不能越界否则就会越界错误字符串的常用方法虽然字符串不能被修改但是可以通过很多常用的操作方法来返回一个操作过的新字符串1、index(元素)方法查找字符串中指定元素的下标不存在就报错# 赋值定义一个字符串 str1 hello word print(f字符串str1 {str1}类型是{type(str1)} ) str_index str1.index(wo) print(str_index) 运行结果 字符串str1 hello word类型是class str 62、replace(old字符串1, new字符串2)把字符串内的所有字符串1,替换成字符串2,然后方法返回一个新字符串str1 hello word str2 str1.replace(word, hello) print(fstr1是保持不变的{str1}) print(fstr2是会被替换的{str2}) 运行结果 str1是保持不变的hello word str2是会被替换的hello hello若不想全部替换只替换前几个可以使用 replace(old字符串1,new字符串2,count)方法# 赋值定义一个字符串 str1 hello word # 部分替换从前到后开始替换 str2 str1.replace(o, x, 1) print(fstr1是保持不变的{str1}) print(fstr2是会被替换的{str2}) 运行结果 str1是保持不变的hello word str2是会被替换的hellx word3、split(分隔符字符串)根据指定的分隔符字符串将字符串分割成多个字符串并存入列表对象中方法返回列表对象# 赋值定义一个字符串 str1 hello word str2 AndroidiOS鸿蒙 # 通过split分割使用空格分割返回的是一个列表 l1 str1.split( ) # 例如开发常见的使用逗号隔开的注意区分中英文状态 l2 str2.split() print(fstr1本身是保持不变的不会被修改的{str1}) print(fl1{l1}l1的类型type{type(l1)}) print(fl2{l2}l2的类型type{type(l2)}) 运行结果 str1本身是保持不变的不会被修改的hello word l1[hello, word]l1的类型typeclass list l2[Android, iOS, 鸿蒙]l2的类型typeclass list4、strip()去掉前后空格返回新的字符串# 赋值定义一个前后都有空格的字符串 str1 hello word print(fstr1本身是保持不变的{str1}) ele str1.strip() # print(去除前后空格后的, str1.strip()) print(fstr1去除前后空格后的{ele}) 运行结果 str1本身是保持不变的 hello word str1去除前后空格后的hello wordstrip(字符串)如果带字符串的话还可以去掉前后指定的字符串返回新的字符串# 赋值定义一个前后都有“特殊字符指定字符串”的字符串 str1 %hello word%$ print(fstr1本身是保持不变的{str1}) # 去掉字符串前面和后面的指定字符 ele str1.strip($%) # print(去除前后位置指定字符后, str1.strip($%)) print(f去除前后位置指定字符后{ele}) 运行结果 str1本身是保持不变的%hello word%$ 去除前后位置指定字符后hello word5、count(字符串)统计字符串中出现指定字符串的个数# 赋值定义字符串 str1 hello word # count(元素)统计某元素在字符串中的个数 count str1.count(l) print(fstr1列表中元素l的个数{count}) 运行结果 str1列表中元素l的个数26、len(字符串)统计字符串的长度# 赋值定义字符串 str1 hello word # len(字符串)统计字符串内一共有多少元素 # length len(str1) # print(f统计str1列表中的元素个数{length}) print(f统计str1字符串中的元素个数, len(str1)) 运行结果 统计str1字符串中的元素个数 10Python 的字符串内建函数Python 的字符串常用内建函数如下方法描述capitalize()将字符串的第一个字符转换为大写。center(width, fillchar)返回一个指定的宽度 width 居中的字符串fillchar 为填充的字符默认为空格。count(str, beg 0,endlen(string))返回 str 在 string 里面出现的次数如果 beg 或者 end 指定则返回指定范围内 str 出现的次数。bytes.decode(encodingutf-8, errorsstrict)Python3 中没有 decode 方法但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象这个 bytes 对象可以由 str.encode() 来编码返回。encode(encodingUTF-8,errorsstrict)以 encoding 指定的编码格式编码字符串如果出错默认报一个ValueError 的异常除非 errors 指定的是ignore或者replace。endswith(suffix, beg0, endlen(string))检查字符串是否以 suffix 结束如果 beg 或者 end 指定则检查指定的范围内是否以 suffix 结束如果是返回 True,否则返回 False。expandtabs(tabsize8)把字符串 string 中的 tab 符号转为空格tab 符号默认的空格数是 8 。find(str, beg0, endlen(string))检测 str 是否包含在字符串中如果指定范围 beg 和 end 则检查是否包含在指定范围内如果包含返回开始的索引值否则返回-1。index(str, beg0, endlen(string))跟find()方法一样只不过如果str不在字符串中会报一个异常。isalnum()检查字符串是否由字母和数字组成即字符串中的所有字符都是字母或数字。如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True否则返回 False。isalpha()如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False。isdigit()如果字符串只包含数字则返回 True 否则返回 False。islower()如果字符串中包含至少一个区分大小写的字符并且所有这些(区分大小写的)字符都是小写则返回 True否则返回 False。isnumeric()如果字符串中只包含数字字符则返回 True否则返回 False。isspace()如果字符串中只包含空白则返回 True否则返回 False。istitle()如果字符串是标题化的(见 title())则返回 True否则返回 False。isupper()如果字符串中包含至少一个区分大小写的字符并且所有这些(区分大小写的)字符都是大写则返回 True否则返回 False。join(seq)以指定字符串作为分隔符将 seq 中所有的元素(的字符串表示)合并为一个新的字符串。len(string)返回字符串长度。ljust(width[, fillchar])返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串fillchar 默认为空格。lower()转换字符串中所有大写字符为小写。lstrip()截掉字符串左边的空格或指定字符。maketrans()创建字符映射的转换表对于接受两个参数的最简单的调用方式第一个参数是字符串表示需要转换的字符第二个参数也是字符串表示转换的目标。max(str)返回字符串 str 中最大的字母。min(str)返回字符串 str 中最小的字母。replace(old, new [, max])把将字符串中的old替换成new,如果max指定则替换不超过 max次。rfind(str, beg0,endlen(string))类似于 find()函数不过是从右边开始查找。rindex( str, beg0, endlen(string))类似于 index()不过是从右边开始。rjust(width,[, fillchar])返回一个原字符串右对齐,并使用fillchar(默认空格填充至长度 width 的新字符串rstrip()删除字符串末尾的空格或指定字符。split(str, numstring.count(str))以 str 为分隔符截取字符串如果 num 有指定值则仅截取 num1 个子字符串。splitlines([keepends])按照行(\r, \r\n, \n)分隔返回一个包含各行作为元素的列表如果参数 keepends 为 False不包含换行符如果为 True则保留换行符。startswith(substr, beg0,endlen(string))检查字符串是否是以指定子字符串 substr 开头是则返回 True否则返回 False。如果beg 和 end 指定值则在指定范围内检查。strip([chars])在字符串上执行 lstrip()和 rstrip()。swapcase()将字符串中大写转换为小写小写转换为大写。title()返回标题化的字符串,就是说所有单词都是以大写开始其余字母均为小写。translate(table, deletechars)根据 table 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中。upper()转换字符串中的小写字母为大写。zfill (width)返回长度为 width 的字符串原字符串右对齐前面填充0。isdecimal()检查字符串是否只包含十进制字符如果是返回 true否则返回 false。字符串的遍历while 循环遍历 字符串# 赋值定义字符串 str1 hello word # 定义变量i0 i 0 # while循环 条件i while i len(str1): # 通过下标取值元素并赋值给ele ele str1[i] # 每次循环进行打印 print(ele, end ) # 防止while陷入死循环 i 1 运行结果 h e l l o w o r dfor 循环遍历 字符串# 赋值定义字符串 str1 hello word # 每次遍历str1字符串时把获取到的每个变量放在 临时变量i 里面 for i in str1: # 默认是 end\n print(i, end ) 运行结果 h e l l o w o r d未完待续......

相关新闻

2026/9/7 9:26:44

货币资金及交易性金融资产合计23.17亿

一条低俗段子,把上市公司股价干出一字涨停,这你听说过吗?7月2日,网名为“南京路宝宝总”的用户(安某)发布帖子,声称,中公教育一年内涨不到20倍,就兑现低俗承诺。该帖在随…

2026/9/3 5:57:35

PyQt6 检测串口设备热插拔的方法

PyQt6 检测串口设备热插拔的方法 一、PyQt6 检测串口设备热插拔的方法1、 引言2、核心思路与原理3、环境准备与依赖安装4、 代码实现:热插拔检测器类5、 集成到 PyQt6 主界面6、进阶优化与平台特定方法6.1、 减少轮询开销6.2、 Windows 事件驱动方法(可选…

2026/9/2 14:49:32

composable-functions架构设计:如何设计可组合的业务逻辑层

composable-functions架构设计:如何设计可组合的业务逻辑层 【免费下载链接】domain-functions Types and functions to make composition easy and safe 项目地址: https://gitcode.com/gh_mirrors/do/domain-functions composable-functions是一个专注于函…

2026/9/7 9:24:09

ComfyUI V30整合包:一键部署AI绘图,支持全系显卡与中文界面

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/7 9:24:09

Docker镜像优化实战:分层构建与多阶段构建减少60%体积

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/7 9:24:09

通信用阀控式密封铅酸蓄电池YDT 799-2010标准解读与运维实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/7 0:47:43

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/7 0:14:19

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/7 0:14:17

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/7 0:03:36

基于YOLOv8和PyQt5的麦穗稻穗检测识别系统设计与实现

这次我们来看一个把目标检测算法和桌面端工具结合得很典型的项目:基于 YOLOv8 PyQt5 的麦穗稻穗检测识别系统。这个项目本身不是新概念,但它的价值在于落地形态很完整。YOLOv8 负责核心的麦穗稻穗目标检测,PyQt5 负责提供可视化的桌面交互界…

2026/9/7 0:03:36

UL 1642锂电池安全标准全解析:测试项目、认证流程与避坑指南

简介:UL 1642是锂电池安全领域的重要规范,本中文版资源适合锂电池制造商、检测机构工程师及产品认证相关人员阅读,用于理解电池在设计与制造层面的安全要求、测试方法与合规要点。资源共1个PDF文件,压缩包大小834KB,便…

2026/9/7 0:03:36

BS EN 13814-1-2019游乐设施安全标准:设计与制造核心要点解析

简介:BS EN 13814-1:2019是英国采纳欧洲标准EN 13814-1:2019的正式版本,由BSI标准出版,重点规定游乐设施和游乐设备在设计与制造环节的安全准则,与BS EN 13814-2:2019、BS EN 13814-3:2019共同取代旧版BS EN 13814:2004。该标准面…

2026/9/6 11:40:10

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/6 19:33:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/6 10:19:40

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…