版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
字符串的定义和切片制作:教材编写团队出版社:机械工业出版社《Python编程基础与应用》配套课件本课件为《Python编程基础与应用(第2版)》配套教学资源,由编写团队精心打造。为便于教学使用,团队同步提供了丰富的辅助材料,涵盖微课视频、教学课件、实训手册、习题答案、课程标准及程序源代码等。同时,教材配套超星教学示范包,支持一键克隆为网络在线课程,助力高效开展线上线下混合式教学。欢迎联系出版方订购使用。
书名:《Python编程基础与应用(第2版)》出版社:机械工业出版社主编:蓝永健、陈冬冬副主编:蔡德琛、朱海鑫、邓爱玲+contents目录字符串的定义字符串的元素提取(切片操作)字符串的操作符字符串的定义01字符串的定义字符串是由零个或多个字符组成的有限序列。python里面没有专门用于表示字符的类型,一个字符就是只包含一个元素的字符串。在使用字符串之前,需要先进行字符串定义。由单引号''、双引号""或三引号''''''/""""""包裹是不可变序列(创建后不能修改单个字符)支持Unicode字符(可以包含中文、emoji等)one_str=‘helloone’two_str=“hellotwo”three_str=“““hellothree”””empty=""#长度为0的字符串字符串的声明方式方式示例适用场景单引号'Hello'简单英文文本双引号"Python"包含单引号的文本(如
"I'mOK")三引号'''多行文本'''多行字符串、文档注释转义字符"换行符\\n"处理特殊字符字符串举例:基础示例#单行字符串s1='人工智能's2="Python3.10"s3="I'maprogrammer"#字符串内包含单引号时用双引号包裹#多行字符串s4='''第一行第二行第三行'''#转义字符s5="换行符\\n制表符\\t"字符串举例:殊字符处理#路径中的反斜杠(两种写法)path1="C:\\Users\\Desktop"#转义写法path2=r"C:\Users\Desktop"#原始字符串(rawstring)#包含Unicode和emojis6="中文✓表情😊Unicode字符∑"字符串举例:引号嵌套规则#外层用双引号,内层可用单引号(反之亦然)msg="Hesaid'Hello'"字符串举例:原始字符串#在路径或正则表达式中常用r""避免转义regex=r"\d+"#匹配数字字符串的元素提取(切片操作)02切片操作方式字符串作为序列类型,其元素被顺序放置,可以理解为一个有序的队列。通过索引(下标)的方式进行提取数值,可以通过索引号提取某一个数据元素,也可以通过指定索引(下标)范围获得一组有序的元素,这种访问序列的方式叫做切片。在Python中不仅支持正向索引,同时还支持反向索引。切片操作方式切片操作方式有:1)字符串名[索引值]2)字符串名[开始索引:结束索引:步长]正向索引从0开始,数值从左往右依次递增。反向索引是从右往左开始计算,最右边索引值为-1,然后依次递减。切片操作方式定义变量slice_str,并对其赋值字符串内容“小朋友,你是不是有很多问号?”,其索引表示如图单个字符的提取操作方式:字符串名[索引值]类似其他语言中的数组操作,通过调用字符串中指定元素索引(下标)即可实现字符的提取。正向和反向都可以,正向索引以序列的开始为起点,反向索引以序列的结束为起点。slice_str="小朋友,你是不是有很多问号?"print(slice_str[1])#它的结果为’朋’print(slice_str[-13])#它的结果也为’朋’多个字符的提取操作方式:字符串名[开始索引:结束索引:步长]起始索引:包含该位置字符(默认为0)结束索引:不包含该位置字符(默认为字符串长度)步长:每隔几个字符取一次(默认为1)使用切片方法提取字符串的子串,需要指明开始索引和结束索引所包含区间范围,特别注意开始索引指定的元素包含在切片内,结束索引指定元素不包含在切片中,即区间属于左闭右开[开始索引,结束索引)。执行切片操作时,通常省略步长参数。如果步长为负数,则表示从右往左提取元素。多个字符的提取提取字符串中“朋友”字符串的操作如下slice_str[-13:-11]是从头开始,开始索引数字可以省略;到末尾结束,结束索引数字可以省略,冒号不能省略。slice_str="小朋友,你是不是有很多问号?"print(slice_str[1:3])#基本切片,切片是左闭右开的,输出为’朋友’slice_str[-13:-11]#负索引从字符串的末尾开始计数,输出为’朋友’print(slice_str[:3])#省略起始索引,默认从-开始,输出为“小朋友”print(slice_str[:])#浅复制,输出“小朋友,你是不是有很多问号?”字符串切片的举例:基本切片操作示例结果说明"Python"[1:4]'yth'取索引1到3的字符(不包括4)"Python"[:3]'Pyt'从开头取到索引2(不包括3)"Python"[2:]'thon'从索引2取到末尾"Python"[:]'Python'复制整个字符串s="Python编程"print(s[2:5])#输出:thoprint(s[:4])#输出:Pythprint(s[6:])#输出:编程字符串切片的举例:步长控制s="ABCDEFG"print(s[::2])#输出:ACEGprint(s[1::3])#输出:BEprint(s[::-1])#输出:GFEDCBA示例结果说明"Python"[::2]'Pto'每隔1个字符取1个(步长2)"Python"[1::2]'yhn'从索引1开始,步长2"Python"[::-1]'nohtyP'步长-1实现字符串反转字符串切片的举例:负索引切片#Python支持用负索引表示从末尾开始计数(-1表示最后一个字符)s="HelloWorld"print(s[-5:])#输出:Worldprint(s[2:-3])#输出:lloWo示例结果说明"Python"[-3:]'hon'取最后3个字符"Python"[-5:-2]'yth'从倒数第5到倒数第3(不包括-2)"Python"[3:-1]'ho'混合正负索引字符串切片的举例:切片边界情况s="Python"print(s[10:])#输出:(空字符串)print(s[3:1])#输出:(空字符串)示例结果说明"Python"[100:]''起始索引超限返回空字符串"Python"[:100]'Python'结束索引超限取到末尾"Python"[3:1]''起始>结束返回空字符串字符串切片的举例:综合应用示例text="Python字符串切片技巧"#获取最后两个字符print(text[-2:])#输出:技巧#隔字取字符(步长2)print(text[::2])#输出:Pto字切片巧#反转中文字符串print(text[::-1])#输出:巧技片切串字nohtyP#获取"字符串"子串print(text[6:9])#输出:字符串多个字符的提取:注意事项左闭右开区间:s[1:4]包含索引1,不包含索引4不修改原字符串:切片始终返回新字符串UTF-8字符安全:中英文混合切片时,1个中文占3个索引(Python3中实际按字符数计算)性能考虑:大字符串切片会生成新对象,可能消耗内存字符串的操作符03字符串的操作符
运算符用于执行程序代码运算,会针对一个以上的操作数项目来进行运算。对于字符串的操作运算符主要有+(加法)、*(乘法)、in(成员包含判断)等。操作符类型符号功能描述示例结果拼接+连接两个字符串"Hello"+"World""HelloWorld"重复*重复字符串指定次数"Hi"*3"HiHiHi"成员检查in检查子串是否存在"Py"in"Python"True成员检查notin检查子串是否不存在"Java"notin"Python"True字符串的操作符操作符类型符号功能描述示例结果索引[]获取指定位置的字符"Python"[1]'y'切片[:]获取子串(含步长控制)"Python"[1:4:2]'yh'格式化%旧式字符串格式化"Name:%s"%"Alice""Name:Alice"格式化{}新式字符串格式化(format方法)"{}{}".format("A",1)"A1"格式化f""f-string格式化(Python3.6+)f"{'Python':>10}"'Python'操作符示例:拼接操作符+s1="Hello"s2="Python"print(s1+""+s2)#输出:HelloPython操作符示例:重复操作符*line="-"*30print(line)#输出:------------------------------操作符示例:成员检查in/notinlang="Python"print("Py"inlang)#输出:Trueprint("Ruby"notinlang)#输出:True操作符示例:索引[]s="Python"print(s[0],s[-1])#输出:Pn(正索引从0开始,负索引从-1开始)操作符示例:切片[:]s="PythonProgramming"print(s[7:18])#输出:Programmingprint(s[::-1])#输出:gnimmargorPnohtyP(反转字符串)操作符示例:格式化操作符%print("PI:%.2f"%3.14159)#输出:PI:3.14print("%s%d"%("Year",2023))#输出:Year2023操作符示例:format方法{}print("{1}{0}".format("World","Hello"))#输出:HelloWorldprint("{:.2%}".format(0.25))#输出:25.00%操作符示例:f-stringf""name="Alice"print(f"Name:{name.upper()}")#输出:Name:ALICEprint(f"{3.1415926:.3f}")#输出:3.142操作符示例:多操作符组合#拼接+重复border="+"+"-"*10+"+"print(border)#输出:+----------+#切片+成员检查s="PythonProgramming"print("Pro"ins[7:])#输出:True操作符示例:格式化对齐#右对齐填充print(f"{'Python':>10}")#输出:'Python'print("{:^10}".format("Hi"))#输出:'Hi'(居中)注意事项#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 垂体腺瘤外科治疗专家共识
- TBFIA 023.2-2024 移动支付 安全单元 第2部分:多应用管理规范
- Focusky入门知识考查试题及答案
- 九年级上册人教版语文《跨学科实践为家庭节约用电提建议》
- 中职专用《念奴娇 赤壁怀古》语文基础模块上册(高教版)B卷(解析版)
- 2025年全国统考数学三习题集(查漏补缺专用)
- 海姆立克急救技能的培训讲解内容
- 鼻腔鼻窦内翻性乳头状瘤诊疗专家共识(2025版)
- 《人类活动对地表变化的影响》教案-2026-2027学年湘科版(新版)小学科学五年级上册
- 某钢铁厂环保执行准则
- 2026新人教版二年级上册小学数学教学计划附教学进度表教案
- 2027届高考语文复习:成语填空、典故运用、俗语辨析 课件
- 河南省普通高中2026-2027学年高二上学期开学联考英语试题(含答案)
- 金蝶云星空总账初始化操作手册
- 新苏教版科学五年级上册 3.9《弹力》教学课件
- 新教材部编人教版五年级上册道德与法治(课件)第11课走进新时代
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 宅基地制度改革试点档案
- 《管理学》(第二版)课件全套 高教版马工程 第0-16章 绪论 - 组织变革与创新
- 方兴地产开发项目设计管理流程
- 多媒体技术与应用ppt课件(完整版)
评论
0/150
提交评论