快速学习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未完待续......

相关新闻

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

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

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

2026/7/12 20:09:40阅读更多 →
快速学习Python基础知识详细图文教程3--函数

快速学习Python基础知识详细图文教程3--函数

来源引用网络知识与某站曹老师视频相互结合学习记录,仅供参考!Python 基础知识三、函数函数是执行特定任务的一段代码,程序通过将一段代码定义成函数,并为该函数指定一个函数名,这样即可在需要的时候多次调用这段代码&…

2026/7/12 20:09:40阅读更多 →
jest-when vs 原生Jest:为什么参数化Mock值得你切换?

jest-when vs 原生Jest:为什么参数化Mock值得你切换?

jest-when vs 原生Jest:为什么参数化Mock值得你切换? 【免费下载链接】jest-when Jest support for mock argument-matched return values. 项目地址: https://gitcode.com/gh_mirrors/je/jest-when jest-when是一个为Jest提供参数匹配返回值支持…

2026/7/12 20:04:40阅读更多 →
如果明天所有大模型都停服,你手头最重要的事,还能不能继续?

如果明天所有大模型都停服,你手头最重要的事,还能不能继续?

不是摆烂,是止损。你把“不再为工具的退化焦虑”等同于“放弃进步”,这恰恰是被工具PUA久了的后遗症。真正的摆烂是什么?是明明感觉模型变垃圾了,还逼自己写更复杂的提示词去“适配”它;是明知回答在注水,还…

2026/7/12 22:19:48阅读更多 →
4680全极耳大圆柱焊接:储能电池量产的毫米级精度

4680全极耳大圆柱焊接:储能电池量产的毫米级精度

一块4680大圆柱电池,正负极极耳的焊点加起来不到80个——但它卡住了整个储能产线的良率。2026年被行业称为"4680量产元年",但走访几家入局厂商后你会发现一个残酷的现实:直接用传统圆柱电池产线做4680的,良率基本都在90…

2026/7/12 22:19:48阅读更多 →
为啥现在的大模型越来越垃圾了

为啥现在的大模型越来越垃圾了

你的感觉不是错觉。2026年以来,这已经是行业里被反复验证的事实了。大模型确实在“变笨”,而且原因不止一个:算力成本倒逼“降智”:推理太贵了。厂商为了压成本,在后台偷偷换小模型、砍思考链、缩短上下文窗口。你付着…

2026/7/12 22:19:48阅读更多 →
超级电容壳体激光封焊:AIDC供电安全的最后一道防线

超级电容壳体激光封焊:AIDC供电安全的最后一道防线

2026年5月,全球超级电容龙头日本武藏宣布涨价15%。不是产能不足——是英伟达GB300平台把超级电容从"选配"变成了"标配",单柜配套超过300颗。产能缺口三分之二,国内厂商紧急补位。但少有人关注一个制造端的细节&#xff1…

2026/7/12 22:19:48阅读更多 →
焊接产线数字孪生:从“盲焊“到数据驱动

焊接产线数字孪生:从“盲焊“到数据驱动

2026年6月,某头部储能电池厂的一条4680产线出了怪事——连续三批电芯的极耳焊接良率从99%掉到了93%,但所有工艺参数都显示"正常"。排查了三天,最后发现是焊接保护镜片上积累了0.03mm的飞溅污层——激光功率被衰减了约5%&#xff0c…

2026/7/12 22:19:48阅读更多 →
Jackhammer企业级安全解决方案:如何应对大规模代码库的挑战

Jackhammer企业级安全解决方案:如何应对大规模代码库的挑战

Jackhammer企业级安全解决方案:如何应对大规模代码库的挑战 【免费下载链接】jackhammer Jackhammer - One Security vulnerability assessment/management tool to solve all the security team problems. 项目地址: https://gitcode.com/gh_mirrors/ja/jackhamm…

2026/7/12 22:14:48阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/12 0:02:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/12 0:02:11阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/12 0:02:11阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/12 0:02:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/12 0:02:11阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/12 0:02:11阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/11 16:20:28阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/11 23:15:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/12 21:43:43阅读更多 →