Python程序设计基础电子教案全套教学课件_第1页
Python程序设计基础电子教案全套教学课件_第2页
Python程序设计基础电子教案全套教学课件_第3页
Python程序设计基础电子教案全套教学课件_第4页
Python程序设计基础电子教案全套教学课件_第5页
已阅读5页,还剩268页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python编程环境搭建Python程序设计基础项目1Python编程环境搭建.pptx项目2基础数据的处理.pptx项目3组合数据的处理.pptx项目4程序结构设计.pptx项目5函数的构建.pptx项目6基于面向对象的建模与重构.pptx全套可编辑PPT课件目录CONTENTS1Python相关知识2安装编程环境3Python的三方库4项目实施5实训练习学习目标知识目标能力目标素养目标(1)认识Python数据结构类型,并区分可变数据类型与不可变数据类型;(2)理解Python中列表、元组、字典、集合的概念及定义;(3)了解Python中列表、元组、字典、集合的特点及使用场景;(4)掌握列表、元组、字典、集合的常用函数及方法。(1)学会搜索Python学习资料;(2)学会下载开发环境;(3)熟练安装开发环境程序;(4)完成环境变量的配置;(5)安装库文件;(6)编写简单的程序测试环境。(1)培养对新技术发展动态的关注度;(2)掌握文献检索,资料查询的基本方法;(3)掌握信息息的获取与筛选能力;(4)培养对应用软件安装、调试和维护的能力。学习导图Python相关知识01Python的历史Python的特点Python的应用领域

Python是一种跨平台的计算机程序设计语言。它是一种面向对象、解释型、弱类型的脚本语言,它也是一种功能强大而完善的通用型语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,逐步被用于独立的、大型项目的开发。一、Python相关知识——Python语言的特点

Python是由荷兰人吉多·范罗苏姆(GuidovanRossum)于20世纪80年代末至90年代初,在荷兰国家数学和计算机科学研究所设计出来的。Python本身也是由诸多其他语言发展而来的,这包括ABC、Modula-3、C、C++、Algol-68、SmallTalk、UNIXshell和其他脚本语言等。一、Python相关知识——Python语言的历史一、Python相关知识——Python语言的特点开源:用户使用Python进行开发和发布自己编写的程序,不需要支付任何费用。解释型语言:Python语言编写的程序,不需要编译成二进制代码,可以直接从源代码运行程序。简单易学:作为一种面向对象、解释型的脚本语言,相比于其他编程语言,Python代码相对简单,上手容易。可移植性:Python天生具有跨平台的特征,只要为平台提供了相应的Python解释器,Python就可以在该平台上运行。丰富强大的库:Python语言包含了解决各种问题的类库。合理使用Python的类库和开源项目,能够快速地实现功能,满足业务需求。一、Python相关知识——Python的应用领域一、Python相关知识——Python的应用领域Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调http服务器与基于Python的Web程序之间的通信。一些Web框架(如Django、TurboGears、web2py、Zope等)可以让程序员轻松地开发和管理复杂的Web程序。Web开发——让世界看到你的作品一、Python相关知识——Python的应用领域Python在很早的时候就是一种游戏编程的辅助工具。在《星球大战》中扮演了重要的角色。目前,通过Python完全可以编写出非常棒的游戏程序。游戏编程——提升的用户体验一、Python相关知识——Python的应用领域说到使用编程语言编写网络爬虫,就不得不提到Python的简便、高效和强大了。在几年之前,大多数网络爬虫还是使用Java进行编写的,但是随着Python生态的不断壮大,其简洁的语法搭配强大的功能,使得Python在编写网络爬虫时有着得天独厚的优势。网络爬虫——大数据时代没有数据怎么行一、Python相关知识——Python的应用领域数据分析也是随着大数据的概念再次兴起的一个领域。有了大量的数据,自然需要对其进行数据清理、数据提取和数据分析。在科学计算和数据分析领域,Python一直没有缺席。在这些方面都有非常成熟的第三方模块和活跃的社区,这使Python成为数据处理任务的一个重要解决方案。数据分析——看到数据背后的真相一、Python相关知识——Python的应用领域人工智能是现在非常火的一个方向,AI热潮让Python语言的未来充满了无限的潜力。现在释放出来的几个非常有影响力的AI框架,大多是Python实现的。机器学习,尤其是现在火爆的深度学习,其工具框架大都提供了Python接口。Python在科学计算领域一直有着较好的声誉,其简洁清晰的语法以及丰富的计算工具,深受此领域开发者喜爱。人工智能与机器学习——互联网新热潮安装编程环境02Python常用开发环境Anaconda交互式开发环境Pycharm项目开发环境二、Python常用开发环境开发环境就是用户与计算机之间沟通的桥梁,在Python中开发环境是需要下载才能使用的,当用户下载好之后,才能对代码进行测试。根据开发环境的特点与开发目标,用户可以选择不同的开发环境。二、Python常用开发环境表1-1-1常用开发环境对比二、Anaconda交互式开发环境

Anaconda是Python和R语言的开源发行版,它主要应用于数据科学、机器学习、深度学习等领域。Anaconda拥有桌面图形用户界面(GUI),它能够让用户在不使用命令行的情况下启动应用程序,并管理conda软件包和环境。它已经内置了许多非常有用的第三方库,如NumPy、Pandas、Scrip、Matplotlib等,这使得程序的安装比常规Python安装要容易很多,更适合初学者使用。二、Anaconda交互式开发环境

JupyterNotebook是一个嵌入于浏览器(编者使用360极速浏览器,并设置为默认浏览器)界面的开发环境,程序会自动调用浏览器,并打开系统默认保存路径。二、PyCharm项目式开发环境PyCharm是一种PythonIDE(IntegratedDevelopmentEnvironment,集成开发环境),它带有一整套工具,可以帮助用户在使用Python语言开发时提高其效率,如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。Python的三方库03三、Python三方库如果需要使用Python中的三方库,只需要使用import命令导入库或函数即可。如果需要使用未安装过的三方库文件,则需要在联网的情况下,输入“pipinstall库名称”。项目实施任务一任务二任务三任务一:学习准备如何开始学习一项新技能?找到一种适合自己的学习途径是非常重要的。可以通过网络,了解和它有关的信息,翻阅与它相关的书籍,查找与它相关的学习资源。可以自学也可以通过教授的方式开始和它开展深度接触,在学习的过程中实践是非常重要的环节。完成一份关于编程语言的调查报告。网络书店中查找出与Python有关的,销量较高的10本图书。在微信中关注几个与Python有关的公众号。在网络中查找Python的学习资源。找一款可以在手机上编辑Python程序的App。12345任务解析任务操作任务二:安装Anaconda编程环境

使用控制台或IDLE编写Python程序过于麻烦,初学Python程序设计必须要有一个成熟的集成开发环境。Anaconda是一个组件集成型的开发环境,自带了许多常用的库文件。平台中的JupyterNotebook组件是一个交互性良好的编程环境,操作界面简洁,使用方便。能保存代码运行过程中的变量结果,方便查看历史信息,它是一款笔记本型的编程环境,非常适合初学者。任务解析任务二:安装Anaconda编程环境

①登录官网后下载Anaconda应用程序。②选择适合自己计算机的版本。任务操作任务二:安装Anaconda编程环境③下载完成后,找到安装程序双击进行安装。④单击Next按钮开始安装。⑤单击IAgree按钮同意安装协议。任务操作任务二:安装Anaconda编程环境⑥用户类型选择,建议为所有用户安装。⑦选择安装路径,单击Next按钮。任务操作任务二:安装Anaconda编程环境⑧选择将Anaconda作为默认Python,单击Install按钮。⑨等待安装完成。任务操作任务二:安装Anaconda编程环境⑩安装完成,单击Next按钮。安装成功,单击Finish按钮。任务操作任务三:编写第一个程序JupyterNotebook一个交互性很强的Python开发环境,它不仅可以编辑、运行代码,而且还可以保存执行过程,添加图表、注释文本等,对于初学者来说,程序的运行结果可以保存成html文件,随时打开查看,所以JupyterNotebook编辑。任务解析任务三:编写第一个程序创建文件:单击左侧“Desktop”选择桌面路径,单击右侧的“new”选项卡下的“Python3”选项,创建一个放置在电脑桌面的文件。如果需要修改文件保存路径或是其他文件夹路径,可以单击文件按钮图标中的文件夹图标切换路径任务操作任务三:编写第一个程序编写代码:在编辑框中输入代码。运行调试代码:单击工具栏中的运行按钮,或使用快捷键“Shift+Enter”即可编译运行代码,若代码有错误,可以根据提示信息进行调试。任务操作任务三:编写第一个程序保存文件,选择File→Downloadas命令,选择要保存的文件类型和保存路径。任务操作实训练习实训一实训二123实训内容

完成PyCharm开发环境的安装,并测试环境,实现PyCharm新建项目使用Anaconda的环境变量,使用输入/输出函数测试编程环境。实训要点学会查阅官网资料和下载安装程序,安装应用程序;注意设置程序安装过程中的各项参数;学会配置项目环境变量;环境搭建完成后会使用简单的语句测试环境。实训步骤实训一:安装PyCharm开发环境①登录PyCharm官网。②根据计算机与操作系统信息选择匹配的应用程序版本进行下载。③双击下载的安装包,开始安装。④选择安装目录。⑤等待安装结束,单击Finish按钮,PyCharm安装完成。⑥双击安装好的PyCharm图标,打开软件。⑦创建Python项目。⑧在新建项目窗口中配置Python项目解释器。⑨选择之前安装好的Anaconda中python.exe的安装路径。⑩配置Python解释器,配置编码格式为UTF-8,调整字体。123实训内容要求用户一次性输入三角形三边长,计算周长并输出。假设用户输入正确,且可以构成三角形。实训要点使用input()函数输入三角形的三边;使用int()函数把输入的内容转换为数字类型。再使用print()函数输出字符串,输出数字,输出计算值。实训步骤实训二:输入/输出语句的使用①使用input()函数输入第一条边存储到变量a中。②使用input()函数输入第二条边存储到变量b中。③使用input()函数输入第三条边存储到变量c中。④使用print()函数输出信息:“你的三角形周长是:”。厚积薄发,锐意进取!基础数据的处理Python程序设计基础目录CONTENTS1实训练习2数值型数据类型3字符型数据类型4项目实施5实训练习学习目标知识目标能力目标素养目标(1)了解Python的语法基础;(2)了解Python的数据类型;(3)了解Python的运算符;(4)了解Python的运算规则;(5)了解Python的字符串基本操作。(1)定义Python中的变量;(2)使用Python中不同的运算方法;(3)使用Python中关于字符串的内置函数。(1)掌握信息技术基础知识与技能;(2)增强信息意识、发展计算思维;(3)提高数字化学习与创新能力。学习导图语法规则01Python基础语法Python的输入/输出标识符命名规则系统关键字Python基础语法

Python的语法具有严格的缩进,使用代码块表现逻辑关系,此举有助于创建整洁的代码;相比其他语言,使用Python编写的代码更容易阅读、调试和扩展。

对用户购买商品的显示和统计是购物车中非常重要的内容,要完成这些基础信息的显示,就需要了解如何将自己想要表达的语言转换成Python语言,并通过某些特定的方法将其输出。在初学Python阶段,要掌握对基础类型数据的常规操作处理。Python基础语法——行与缩进代码块是Python程序的一个特色,同级代码不需要使用“{}”进行标记,只要缩进空格数相同,就视为同一个程序块。原则二最好在每个类、函数定义和一段完整的功能代码之后增加一个空行,在运算符两侧各增加一个空格,逗号后面增加一个空格。原则三尽量不要写过长的语句。如果语句过长,可以考虑拆分成多个短一些的语句,以保证代码具有较好的可读性。如果语句确实太长而超过屏幕宽度,最好使用续行符“\”,或者使用圆括号将多行代码包括起来表示是一条语句。原则一严格缩进。Python程序是依靠代码块的缩进体现代码之间的逻辑关系的,缩进结束就表示一个代码块结束了。同一个级别代码块的缩进量必须相同,以4个空格为基本缩进单位。010203Python基础语法——注释代码单行注释:使用“#”开头,表示本行#之后的内容为注释。多行注释:使用包含在一对三引号'''…'''或"""…"""之间,其中不作为执行语句的内容将被解释器认为是注释。#下列这行代码表示需要打印输出的内容print(3)'''下列的代码块能打印输出一句welcome'''print('welcome')"""下列这行代码能打印输出一句3.1415926是圆周率"""print(str(3.1415926)+'是圆周率')例如:WriteherePython的输入/输出——输出函数print()

print()函数可以将指定内容进行输出,输出的内容可以是数值、字符串,如果是字符串需要用单引号或双引号进行标注,如果输出内容是表达式,将计算出结果并输出。如果需组合输出多个字符串内容时,可以用“+”进行拼接。实例2-1print()函数的使用print(3)print('welcome')print(120*5/47)print('Welcometo'+'Pythonworld')print(str(3.1415926)+'是圆周率')运行结果如下:3welcome12.76595744680851WelcometoPythonworld3.1415926是圆周率Python的输入/输出——输入函数input()input()是等待用户输入语句,执行此语句时用户必须输入一个值,程序才能往后继续执行。input()圆括号中单引号括起来的文本是输入提示。基本语法格式如下:变量名=input("<提示内容>")运行带有input()函数的语句,系统会弹出一个输入框,用户输入内容后,按【Enter】键即可结束数据输入,同时完成输入内容的保存。password=input('请输入你的密码')print('你的密码是:',password)#输出不同类型的内容,第一个为字符串,第二个为变量3welcome12.76595744680851WelcometoPythonworld3.1415926是圆周率运行结果如下:注意:在使用input()函数时,需要先完成内容的输入操作,再调用刚刚输入的数据。否则程序会出现死锁,若出现死锁情况,需要关闭程序后再运行。#实例2-2input()函数的使用Python标识符命名规则现实生活中,人们常用一些名称来标记事物。例如,每种水果都有一个名称来标识。若希望在程序中表示一些事物,开发人员需要自定义一些符号和名称,这些符号和名称称为标识符。Python中的标识符需要遵守一定的规则。标识符命名规则如下:①标识符由字母、下画线和数字组成,且数字不能开头。②Python中的标识符是区分大小写的。例如,andy和Andy是不同的标识符。③Python中的标识符不能使用关键字。为了规范命名标识符,关于标识符的命名有以下建议:常量名使用大写的单个单词或由下画线连接的多个单词;模块名、函数名使用小写的单个单词或由下画线连接的多个单词;类名使用大写字母开头的单个或多个单词。大驼峰:即每个单词首字母都大写,如StudentId。小驼峰:第二个(含)后的单词首字母大写,如studentId。下画线:如student_id。系统关键字关键字是Python已经使用的、不允许开发人员重复定义的标识符。Python3中共有35个关键字(图中__peg_parser__是Python3.9中的一个小彩蛋,并不是关键字),每个关键字都有不同的作用。在Jupyter单元格中执行help(“keywords”)语句可查看这些关键字。数值型数据类型02变量数据类型运算符运算符的优先级数值型数据类型——变量在程序中,数据都是临时存储在内存中,为了更快速地查找或使用这个数据,用户通常给内存中的这个数据定义一个名称,这个名称就是变量。Python使用标识符标识不同的内存单元,如此,标识符与数据建立了联系。标识内存单元的标识符又称变量名,Python通过赋值运算符“=”将内存单元中存储的数值与变量名建立联系,即定义变量,具体语法格式如下:变量=值#实例2-3变量的定义与使用自定义变量名,要满足标识符命名规则。在编辑框中输入以下代码并运行。studentid=20220001print(studentid)运行结果如下:20220001数值型数据类型——数据类型根据数据存储形式的不同,数据类型分为基础的数字类型和比较复杂的组合类型,其中数字类型又分为整型、浮点型、布尔类型和复数类型;组合类型分为字符串、列表、元组、集合、字典等,如图所示。print(type(studentid))print(type('Welcom'))运行结果如下:<class'int'><class'str'>#实例2-4查询变量的类型实例2-3中定义的变量studentid的数据是什么数据类型呢?检测数据类型使用type()函数,在编辑框中输入以下代码并运行。数值型数据类型——运算符算数运算符Python运算符是一种特殊的符号,主要用于实现数值之间的运算。根据操作数的数量不同,运算符可分为单目运算符、双目运算符;根据运算符的功能,运算符可分为算术运算符、赋值运算符、比较运算符、逻辑运算符和成员运算符。Python中的算术运算符包括:+、-、*、/、//、%和**,见表注意:混合运算优先级顺序:()高于**高于*///%高于+。数值型数据类型——运算符赋值运算符赋值运算符的作用是将一个表达式或对象赋值给一个左值。左值是指一个能位于赋值运算符左边的表达式,它通常是一个可修改的变量,不能是一个常量。#单个变量赋值:num=1print(num)#多个变量赋值:num1,float1,str1=10,0.5,'helloworld'print(num1)print(float1)print(str1)#多变量赋相同值:a=b=10print(a)print(b)运行结果:1100.5helloworld1010#实例2-5赋值运算符"="的使用数值型数据类型——运算符复合赋值运算符Python中的算术运算符可以与赋值运算符组成复合赋值运算符,赋值运算符同时具备运算和赋值两项功能。Python复合赋值运算符的功能说明及示例见表。#实例2-6复合赋值运算符的使用a=100a+=1

#输出101,a=a+1,最终a=100+1print('a的终值为:',a)b=2b*=3

#输出6,b=b*3,最终b=2*3print('b的终值为:',b)c=10c+=1+2#输出13,先计算运算符右侧1+2=3,c+=3,推导出c=10+3print('c的终值为:',c)运行结果如下:a的终值为:101b的终值为:6c的终值为:13数值型数据类型——运算符比较运算符比较运算符又称关系运算符,用于比较两个数值,判断它们之间的关系。Python中的比较运算符包括==、!=、>、<、>=、<=,它们通常用于布尔测试,测试结果只能是True或False,Python比较运算符的功能说明及示例见表#实例2-7比较运算符的使用a=1b=2print(a==b)#Falseprint(a!=b)#Trueprint(a<b)#Trueprint(a>b)#Falseprint(a<=b)#Trueprint(a>=b)#False运行结果如下:FalseTrueTrueFalseTrueFalse数值型数据类型——运算符逻辑运算符Python中分别使用or、and、not三个关键字作为逻辑运算符,功能说明及示例见表其中or与and为双目运算符,not为单目运算符。#实例2-8逻辑运算符的使用运行结果如下:TrueFalseTrueTruea=1b=2c=3print((a<b)and(b<c))#Trueprint((a>b)and(b<c))#Falseprint((a>b)or(b<c))

#Trueprint(not(a>b))

#True数值型数据类型——运算符的优先级Python中支持使用多个不同的运算符连接简单表达式,实现相对复杂的功能,为了避免含有多个运算符的表达式出现歧义,Python为每种运算符都设定了优先级。Python中运算符的优先级及其功能见表字符型数据类型03字符串转义符索引字符串格式化字符串的常用操作字符型数据类型——字符串Python中的文本数据由str对象或字符串处理。字符串是不可变序列。字符串文字以多种方式编写:单引号:name='Michael'双引号:name="Tom"三引号:name='''Jerry'''

text="""IamJerry

nicetomeetyou"""注意:三引号形式的字符串支持换行。Python使用反斜杠“\”转义,在字符串中的引号前添加“\”,此时Python解释器会将“\”之后的引号视为解释为一个普通字符,而非特殊符号。以下例子中,变量text2中使用了“\”转义,所以单引号被视为一个普通字符。text1="I'mTom"text2='I\'mTom'字符型数据类型——转义符Python中一些普通字符与反斜杠组合后将失去原有意义,产生新的含义。转义字符是常见的具有特殊意义的字符,见表1-2-6。转义字符通常用于表示一些无法显示的字符,如空格、回车等。常用转义符如表字符型数据类型——索引“下标”又称“索引”,相当于元素编号。下标从0开始。比如火车座位号,座位号的作用:按照编号快速找到对应的座位。同理,下标的作用即是通过下标快速找到对应的数据。除此之外还可以利用索引号对字符串进行切片,访问指定范围内的字符串,例如:需求:字符串name='Michael',取到不同下标对应数据。name='Michael'print('字符串第一个位置:',name[0])print('字符串第二个位置:',name[1])print('字符串第一到第三个位置:',name[0:3])print('字符串第四个位置之后的所有:',name[3:])运行结果如下:字符串第一个位置:M字符串第二个位置:i字符串第一到第三个位置:Mic字符串第四个位置之后的所有:hael#实例2-9索引号的使用字符型数据类型——字符串格式化字符串格式化是指将指定的字符串转换为想要的格式。Python中字符串可通过“%”格式符格式化输出,格式符及其说明见表此外,对于数值型变量的格式化输出,可以通过一些特殊格式,规定输出的样式“-”表示左对齐,“.”表示小数点后位数,“0”表示左边补零。a='"'print('字符串a转换为字符是:','%s'%a)#将字符串转换成字符b=1c='00'print('整数b转换为字符串是:%s'%b)#将整数转换成字符串print('b和c作为字符串拼接的结果是:%s'%b+c)#将转换后的字符串进行拼接d=10.1print('浮点数d转换为整数是:%d'%d)#将浮点数转换成整数e=5pi=3.1415926print('整数e转换为浮点数是:%f'%e)#将整数转换成浮点数print('保留浮点数pi小数点后2位的结果是:%.2f'%pi)#保留小数点后2位字符串a转换为字符是:“整数b转换为字符串是:1b和c作为字符串拼接的结果是:100浮点数d转换为整数是:10整数e转换为浮点数是:5.000000保留浮点数pi小数点后2位的结果是:3.14#实例2-10利用格式符格式化输出对象运行结果如下:字符型数据类型——字符串格式化在字符串的格式化输出中,format()函数使用频率很高,它是字符串内嵌的一个方法,用于格式化字符串。它以大括号{}标明被替换的字符串,它把传统的%替换为{}实现格式化输出,通过索引号和参数进行匹配的方式格式化字符串。#".2f"表示对输入的参数转换为浮点型并保留2位小数print('圆周率的值是{:.2f}'.format(3.1415926))#索引号{0}对应format参数中的"5",索引号{1}对应format参数中的"10"print('三角形的底是{0},高是{1},面积是{2}'.format(5,10,25))运行结果如下:圆周率的值是3.14三角形的底是5,高是10,面积是25#实例2-11使用format()函数进行字符串的格式化输出字符型数据类型——字符串的常用操作字符串的常用操作有查找、修改和判断三大类。常用的查找函数见表注意:开始和结束位置下标可以省略,表示在整个字符串序列中查找。字符型数据类型——字符串的常用操作查找#实例2-12使用find()函数查找匹配的目标字符串str='hellomynameisTom'print(str.find('my'))

#结果为6,在字符串中下标第6位找到myprint(str.find('name',0,15))

#结果为9,在字符串中下标第0~15位查找print(str.find('ands'))

#结果为-1,在字符串中找不到'ands'运行结果如下:69-1在使用find()函数查找目标字符串时,若目标字符串不存在,则返回的索引号为“-1”。index()函数的主要功能是查找字符串的位置,index()函数未找到目标字符串时程序会报错。字符型数据类型——字符串的常用操作查找str='hellomynameisTom'print(str.index('my'))print(str.index('name',0,15))print(str.index('ands'))#报错运行结果如下图:#实例2-13使用index()函数查找匹配的目标字符串#实例2-14使用count()函数统计目标字符串出现的次数str='hellomynameisTom,whatisyourname'print(str.count('name'))#字符串中出现了2次'name'print(str.count('name',0,15))#字符串下标0~15中出现了1次'name'print(str.count('ands'))#字符串中没出现过'ands'运行结果如下:210字符型数据类型——字符串的常用操作修改所谓修改字符串,指的是通过函数的形式修改字符串中的数据。常用的字符串修改函数见表注意:数据按照是否能直接修改分为可变类型和不可变类型两种。字符串类型的数据修改时不能改变原有字符串,属于不能直接修改数据的类型即是不可变类型。字符型数据类型——字符串的常用操作修改#实例2-15使用replace()函数替换字符串str='hellomynameisTom,whatisyourname'#将字符串中'name'替换成为'firstname'print(str.replace('name','firstname'))#将字符串中'name'替换成为'firstname'仅替换一次print(str.replace('name','firstname',1))print(str)运行结果如下:hellomyfirstnameisTom,whatisyourfirstnamehellomyfirstnameisTom,whatisyournamehellomynameisTom,whatisyourname#实例2-16使用split()函数分割字符串#实例2-17拼接字符串字符型数据类型——字符串的常用操作str='hellomynameisTom,whatisyourname'print(str.split('name'))print(str.split('name',1))#仅按照子串'name'分割1次,返回数据个数为2print(str.split(''))print(str.split('',1))#仅按照子串''分割1次,返回数据个数为2运行结果如下:['hellomy','isTom,whatisyour','']['hellomy','isTom,whatisyourname']['hello','my','name','is','Tom,','what','is','your','name']['hello','mynameisTom,whatisyourname']修改symbol='_'#要添加的字符串word='Hello'#被添加的字符串print(symbol.join(word))#将symbol添加进入word#使用"+"函数拼接字符串symbol='*'word='Hello'print(symbol+symbol+word+symbol+'*')#未定义成变量的字符串也可以拼接运行结果如下:H_e_l_l_o**Hello**字符型数据类型——字符串的常用操作修改str='hellomynameisTom,whatisyourname'print('原字符串:',str)print('句首单词字母大写:',str.capitalize())#capitalize()函数将字符串首字母转换为大写print('所有单词首字母大写:',str.title())

#title()函数将字符串每个单词首字母转换为大写print('所有单词首字母小写:',str.lower())

#lower()函数将字符串中每个大写字符转换为小写print('所有字母变为大写:',str.upper())

#upper()函数将字符串中每个小写字母转换为大写运行结果如下:原字符串:hellomynameisTom,whatisyourname句首单词字母大写:Hellomynameistom,whatisyourname所有单词首字母大写:HelloMyNameIsTom,WhatIsYourName所有单词首字母小写:hellomynameistom,whatisyourname所有字母变为大写:HELLOMYNAMEISTOM,WHATISYOURNAME在字符的处理中,常常需要批量设置字母大小写,Python中的函数可以实现大小写字母的相互转换。例如:#实例2-18字母的大小写转换字符型数据类型——字符串的常用操作判断所谓判断即是判断真假,返回的结果是布尔类型数据:True或False。常用判断函数见表在字符的处理中,常常需要批量设置字母大小写,Python中的函数可以实现大小写字母的相互转换。例如:#实例2-19字符串匹配判断str='hellomynameisTom,whatisyourname'print(str.startswith('hello'))#判断该字符串是否以'hello'开头print(str.startswith('hello',0,3))#判断该字符串中下标0开始3结束,是否以'hello'开头print(str.endswith('name'))#判断该字符串是否以'name'结尾print(str.endswith('name',0,5))#判断该字符串下标0~5位是否以'name'结尾print(str.endswith('your'))#判断该字符串是否以'your'结尾运行结果如下:TrueFalseTrueFalseFalse项目实施任务一任务二任务一购买列表中数字对象的计算与输出任务解析利用本项目所学内容,输出一个用户所购买的产品列表。使用Python的内置函数print()函数可以逐行打印信息。重点掌握input()函数的用法和print()函数的用法;使用int()函数将输入的值转换为数字。①定义两个变量user1和user2,内容为Leo和Michelle。②定义两个商品名称变量product1和product2,内容分别为"FILA"和"SAILOR"。③使用input()函数输入购买商品的数量,account1=1、account2=2。④使用int()函数将输入的商品数量值转换为数字,方便计算。⑤使用print()函数输出user1购买的商品product1,购买的数量account1、商品单价price1和user1应付的总价。⑥使用print()函数输出user2购买的商品product2,购买的数量account2、商品单价price2和user2应付的总价。任务操作任务二

商品列表中字符对象的计算与输出任务解析从字符串中整理有效信息。从字符串中"1235783|《青少\n年学Python编程》|中国铁道出版社|35.6¥"提取出书的名称放入bookname变量中,提取图书价格放入price变量中,输出一句话:“《青少年学Python编程》的价格是:35.6”。利用本项目所学内容,输出一个用户所购买的产品列表。使用Python的字符切片操作提取目标内容,利用字符的内置函数和方法实现字符串内容的修改与提取。重点掌握字符串分割函数split()、字符串替换函数replace()的使用方法。重点掌握字符串格式化输出函数format()的使用技巧。根据给定内容,编写代码并运行得到结果。①定义两个变量bookname和price,存放书的名称和书的价格。②将指定内容赋值给变量product。③利用索引号,对字符串进行切片,获得图书的名称。④利用replace()函数除去书名子串中的非法字符。⑤利用索引号,对字符串进行切片,获得图书的价格。⑥利用format()函数格式化输出结果任务操作实训练习实训一实训二123实训内容①定义字符串变量name,输出“我的名字叫小明,请多多关照!”。②定义整数变量student_no,输出“我的学号是000001”。③定义小数price、weight、money,输出“苹果单价9.00元/斤,购买了5.00斤需要支付45.00元”。④定义一个小数scale,输出“数据比例是10.00%”。实训要点①程序要使用到所学的格式化输出,故设置变量时应该将原本要输出整数的变量设置为小数。②程序要使用到所学的格式化输出,故设置变量时应该将原本要输出小数的变量设置为整数。③程序涉及简单运算规则,运算过程要符合逻辑。实训步骤①定义变量name的值为"小明"。②定义student_no的值为一个小数,如"1.99"。③定义price的值为9。④定义weight的值为5。⑤定义money的值为45。⑥定义scale的值为0.1。⑦使用print()函数输出相关信息。实训一格式化输出商品信息实训二打印出用户的BMI123实训内容BMI指数即身体健康指数,它与人的体重和身高相关,是目前国际常用的衡量人体胖瘦程度以及是否健康的一个标准。已知BMI值的计算公式如下:体质指数(BMI)=体重(kg)÷身高^2(m)实训要点①程序需要接收用户输入的身高、体重,此功能需借助input()函数实现。②input()函数的返回值是一个字符串,在根据公式进行运算之前需要将表示字符串类型的身高、体重转换为浮点数。③获取到了浮点数类型的身高、体重,可根据公式计算出体质指数。需要注意公式中涉及除法运算和幂运算,Python程序中使用的除法运算符为“/”,幂运算符为“**”。实训步骤①使用input()函数输入身高到变量hight中。②使用input()函数输入体重到变量weight中。③使用公式将结果赋值给变量BMI。④使用print()函数输出信息"您的BMI是:"。厚积薄发,锐意进取!组合数据的处理Python程序设计基础目录CONTENTS1组合数据的分类2列表3元组4字典5集合实训练习7项目实施6学习目标知识目标能力目标素养目标(1)了解Python的发展历史;(2)了解Python语言的特点;(3)了解Python的应用领域。(1)熟练掌握列表、元组、字典及集合的创建及元素访问方式;(2)掌握列表的遍历与排序操作;(3)熟练掌握列表、字典中元素的添加、删除、修改等操作;(4)熟练掌握集合运算及操作符的使用。(1)能对具体问题进行分析和抽象,得出问题的关键要素和特质;(2)针对实际问题进行逐步分解,明确其关键环节。学习导图按组成方式分类按可变性分类组合数据的分类01Python有四种内建的数据结构:列表、元组、字典、集合

Python中的数据结构是根据某种方式将数据元素组合起来形成的一个数据元素集合。数据结构是计算机存储、组织数据的方式,是构建程序的基础。因为数据结构是由一些元素组合而成的结构形式,这些元素可以是数字、字符或是它们的组合,故数据结构也可以统称为容器。1序列类型23映射类型集合类型序列是数据结构对象的有序排列,数据结构对象作为序列的元素都会被分配一个位置编号即索引,序列就相当于数学中数列的概念。映射类型就是存储了对象与对象之间的映射关系的数据结构类型,Python中唯一的映射类型数据结构是字典。集合是Python中另外一种数据结构类型。集合中的元素不能重复出现,即集合中的元素是相对唯一的,并且元素不存在排列顺序。按组成方式分类1可变数据类型2不可变数据类型可变数据类型,是指可以直接对数据结构对象的内容进行修改(并非重新对对象赋值操作)的数据,即可以对数据结构对象进行元素的赋值修改、删除或增加等操作。不可变数据类型不能对数据结构对象的内容进行修改操作,不能对对象中的元素进行增加、删除和赋值修改。按可变性分类列表的创建访问列表元素列表02列表的遍历及排序列表元素的增删改查嵌套列表列表的其他常用函数可迭代对象列表的创建列表的创建列表是Python中最灵活的有序序列,它可以存储任意类型的元素,即列表中各个元素的类型可以互不相同;同时列表中的元素可以重复出现,并且支持索引、切片、遍历等一系列操作。(1)方括号[]创建列表(2)list()函数创建列表#实例3-1使用方括号[]创建列表prod_no1=[]print('该变量的值为:',prod_no1)#查询并打印输出列表内容print('该变量的数据类型为:',type(prod_no1))#查询并打印输出变量prod_no1的数据结构类型prod_no1=['FILA',65,388,268]#创建一个包含字符串和数值型数据的列表print('该变量的值为:',prod_no1)#查询并打印输出列表内容代码运行结果如下:该变量的值为:[]该变量的数据类型为:<class'list'>该变量的值为:['FILA',65,388,268]列表的创建#实例3-2使用list()函数创建列表#传入数字、字符混合类型prod_no1=list(('FILA',65,388,268))#向list()函数传入一个对象print('该变量的值为:',prod_no1)#查询并打印输出列表内容print('该变量的数据类型为:',type(prod_no1))#查询变量prod_no1的数据结构类型#传入内容为空prod_no2=list()print('该变量的值为:',prod_no2)#查询并打印输出列表内容print('该变量的数据类型为:',type(prod_no2))#查询变量prod_no2的数据结构类型代码运行结果如下:该变量的值为:['FILA',65,388,268]该变量的数据类型为:<class'list'>该变量的值为:[]该变量的数据类型为:<class'list'>注意:list()函数接收的参数必须是一个可迭代类型的数据。如图所示,list()函数的参数为整数,由于整数不是可迭代类型数据,所以列表创建失败。访问列表元素——使用索引方式访问列表元素#实例3-3使用索引方式访问列表元素prod_no1=['FILA',65,388,268]print('商品名称为:',prod_no1[0])#访问列表中索引为0的元素print('商品价格为:',prod_no1[-1])#访问列表中索引为-1的元素代码运行结果如下:商品名称为:FILA商品价格为:268使用索引可以获取列表中的指定元素,操作时需在列表对象后面紧接方括号[]包括索引,格式为:list_name[index],即列表对象[索引]#实例3-4引入错误索引号运行错误提示prod_no1=['FILA',65,388,268]print(prod_no1[4])#传入的索引大于最后一个元素的正索引print(prod_no1[-5])#传入的索引小于第1个元素的负索引代码运行结果如下:注意:若一个列表有n个元素,则访问元素的合法序号范围是-n~n-1,当序号x为负时,表示从序列的末尾开始计数,实际访问的是序号为n+x的元素。当传入的索引超出列表正索引或负索引范围时,即小于第1个元素的负索引或大于最后一个元素的正索引时,Python会返回一个错误。访问列表元素——使用切片方式访问列表元素#实例3-5使用切片访问列表元素prod_no2=['2204201020030002','MacbookAir',23,7999,7199]print(prod_no2[1:4:2])#获取列表中索引为1至索引为4且步长为2的元素print(prod_no2[3:])#获取列表中索引为3至末尾的元素print(prod_no2[0:4])#获取列表中索引为0至索引为4的元素print(prod_no2[:])#获取列表中的所有元素print(prod_no2[::-1])#获取列表中的所有元素,步长为-1即为反转代码运行结果如下:['MacbookAir',7999][7999,7199]['2204201020030002','MacbookAir',23,7999]['2204201020030002','MacbookAir',23,7999,7199][7199,7999,23,'MacbookAir','2204201020030002']切片访问方式,即使用“列表序号对”来截取列表中的任何部分,并且得到一个新列表。“序号对”中第一个序号(左索引)表示切片开始位置,第二个序号(右索引)表示切片截止(但不包含)位置。当切片的左索引为0时可省略,当右索引为列表长度时也可省略。另外,当步长为0时会报错,如图所示。访问列表元素——使用切片方式访问列表元素#实例3-6逆序访问列表元素print(prod_no2[1:10])#获取列表中从索引第1位到右端之间的所有元素print(prod_no2[-2:-20:-1])#获取列表中从倒数第2位到左端之间的所有元素print(prod_no2[5:1])#从起始索引无法到达终止索引时,返回一个空列表代码运行结果如下:['MacbookAir',23,7999,7199][7999,23,'MacbookAir','2204201020030002'][]与列表索引操作有所不同的是,切片操作无须担心传入的索引超出列表索引范围。如果传入的索引小于列表第1个元素的负索引,切片操作会默认将其视作0;如果大于列表最后一个元素的正索引,则将其当作-1处理。另外,当切片操作从起始索引沿着获取方向无法达到终止索引时,Python将会返回一个空列表。例如:Writehere列表的遍历#实例3-7使用for循环实现列表元素的遍历cust_no1=['Tina','Aaron','Donald','Linda','Betty','Michelle']foriincust_no1:print('Dear{i},您好!今日关注有惊喜哟!')代码运行结果如下:DearTina,您好!今日关注有惊喜哟!DearAaron,您好!今日关注有惊喜哟!DearDonald,您好!今日关注有惊喜哟!DearLinda,您好!今日关注有惊喜哟!DearBetty,您好!今日关注有惊喜哟!DearMichelle,您好!今日关注有惊喜哟!对于列表这种存储多个数据的存储结构,有时需要依次访问列表中的每个元素,称为遍历。#实例3-8使用while循环实现列表元素的遍历cust_no1=['Tina','Aaron','Donald','Linda','Betty','Michelle']i=0#使用while循环实现列表元素的遍历whilei<len(cust_no1):print('Dear',cust_no1[i],'您好!今日关注有惊喜哟!')

i=i+1代码运行结果如下:DearTina您好!今日关注有惊喜哟!DearAaron您好!今日关注有惊喜哟!DearDonald您好!今日关注有惊喜哟!DearLinda您好!今日关注有惊喜哟!DearBetty您好!今日关注有惊喜哟!DearMichelle您好!今日关注有惊喜哟!列表的遍历#实例3-9使用for循环实现列表元素求和统计list_demo=[34,65,67,233,7,34,120,43,1]total=0foriinlist_demo:total+=iprint('列表list_demo的累加和为:',total)代码运行结果如下:列表list_demo的累加和为:604遍历操作还可实现其他很多功能。比如,将列表元素进行求和运算,代码如下:列表的排序列表的排序是将元素按照某种规律进行排列。Python中列表的常用排序函数有sort()、reverse()、sorted()参数key表示指定的排序规则,该参数可以是列表支持的函数;参数reverse表示控制列表元素排序的方式,可以取值True或者False。如果reverse的值为True则表示降序排列,如果reverse的值为False(默认值)则表示升序排列。列表的排序#实例3-10使用sort()函数对列表元素排序list_demo1=[43,3,0,761,12,-23]#将列表中元素降序排序list_demo1.sort(reverse=True)print("降序排序后列表:",list_demo1)#将列表中元素升序排序list_demo1.sort()print("升序排序后列表:",list_demo1)cust_no1=['Tina','Aaron','Donald','Betty','Michelle']#将列表中元素按字符串长度升序排序cust_no1.sort(key=len)print("按字符串长度升序排序的列表:",cust_no1)#将列表中元素按字符串逆序排序cust_no1=['Tina','Aaron','Donald','Betty','Michelle']cust_no1.reverse()print("按字符串逆序排序的列表:",cust_no1)list_demo1=[43,3,0,761,12,-23]print("排序后列表:",sorted(list_demo1))print("原列表:",list_demo1)代码运行结果如下:降序排序后列表:[761,43,12,3,0,-23]升序排序后列表:[-23,0,3,12,43,761]按字符串长度升序排序的列表:['Tina','Aaron','Betty','Donald','Michelle']按字符串逆序排序的列表:['Michelle','Betty','Donald','Aaron','Tina']排序后列表:[-23,0,3,12,43,761]原列表:[43,3,0,761,12,-23]列表元素的增删改查——添加列表元素向列表中添加元素的常用函数有append()、extend()和insert()。各函数的特点及使用格式见表。在列表的末尾添加元素可以使用append()、extend()函数。使用extend()函数扩展原来的列表时,类似于字符串的拼接。两个列表对象也可以通过加号“+”进行拼接。cust_no1=['Tina','Aaron','Donald','Betty','Michelle']cust_no1.append('Tom')print(cust_no1)#使用extend()函数增加多个元素cust_no2=['Kade','Nadia','Dacey','Taffy']cust_no1.extend(cust_no2)print(cust_no1)#使用"+"号拼接两个列表print(cust_no1+cust_no2)#实例3-11在列表末尾添加新元素代码运行结果如下:['Tina','Aaron','Donald','Betty','Michelle','Tom']['Tina','Aaron','Donald','Betty','Michelle','Tom','Kade','Nadia','Dacey','Taffy']['Tina','Aaron','Donald','Betty','Michelle','Tom','Kade','Nadia','Dacey','Taffy','Kade','Nadia','Dacey','Taffy']列表元素的增删改查——添加列表元素若需要在列表的指定位置添加元素可以使用insert()函数。#在列表第3号位置插入指定元素cust_no1=['Tina','Aaron','Donald','Betty','Michelle']cust_no1.insert(2,'Taffy')print(cust_no1)#设置的插入位置超出尾端cust_no1=['Tina','Aaron','Donald','Betty','Michelle']cust_no1.insert(10,'Taffy')print(cust_no1)#实例3-12在列表指定位置添加元素代码运行结果如下:['Tina','Aaron','Taffy','Donald','Betty','Michelle']['Tina','Aaron','Donald','Betty','Michelle','Taffy']列表元素的增删改查——删除列表元素删除列表元素的常用方式有del语句、remove()和pop()函数,功能和使用格式见表cust_no1=['Tina','Aaron','Donald','Betty','Michelle']delcust_no1[3]print("删除第4号位置元素的列表",cust_no1)#实例3-13使用del删除指定位置的元素代码运行结果如下:删除第4号位置元素的列表['Tina','Aaron','Donald','Michelle']列表元素的增删改查——删除列表元素在使用remove()函数移除某一元素时,若列表中有多个匹配的元素,只会移除匹配到的第一个元素,remove()函数和del语句的共同点在于都是删除列表中的指定元素。区别在于,del语句是通过索引方式指定元素,而remove()函数是指定元素本身。cust_no1=['Tina','Aaron','Donald','Betty','Michelle']cust_no1.remove('Tina')print("删除列表中指定元素后的列表",cust_no1)#实例3-14使用remove()函数删除列表中指定元素代码运行结果如下:删除列表中指定元素后的列表['Aaron','Donald','Betty','Michelle']列表元素的增删改查——删除列表元素pop()函数移除元素时,会提取索引所对应的元素,并将其从列表中删除,效果相当于把列表中的元素抽离出来。若不指定元素索引,pop语句将默认使用索引-1,移除列表中最后一个元素。cust_no1=['Tina','Aaron','Donald','Betty','Michelle','Tina']cust_no4=cust_no1.pop()print("原列表",cust_no1)print("删除末尾元素的列表",cust_no4)#使用pop()函数弹出指定位置元素cust_no1=['Tina','Aaron','Donald','Betty','Michelle','Tina']cust_no1.pop(3)print(cust_no1)#实例3-15使用pop()函数删除元素代码运行结果如下:原列表['Tina','Aaron','Donald','Betty','Michelle']删除末尾元素的列表Tina['Tina','Aaron','Donald','Michelle','Tina']列表元素的增删改查——修改列表元素可以按需对列表元素进行修改。修改列表中的元素就是通过索引获取元素并对该元素进行赋值操作。cust_no1=['Tina','Aaron','Donald','Betty','Michelle','Tina']cust_no1[0]='Taffy'#将索引为0的元素'Tina'重新赋值为'Taffy'print(cust_no1)#实例3-16列表元素的修改代码运行结果如下:['Taffy','Aaron','Donald','Betty','Michelle','Tina']列表元素的增删改查——查询列表元素通过index()函数可实现指定元素的查询,查询结果返回的是元素在列表中第1次出现的位置索引。#查询'Tina'元素在列表中第1次出现的索引cust_no1=['Tina','Aaron','Donald','Betty','Michelle','Tina']print(cust_no1.index('Tina'))#使用in关键字查询元素'Taffy'incust_no1#查询'Taffy'是否包含在列表cust_no1中#实例3-17列表元素的查找代码运行结果如下:0False嵌套列表列表可以存储任何元素,也可以存储列表。如果列表存储的元素也是列表则称为嵌套列表。嵌套列表的创建方式与普通列表的创建方式相同,用方括号[]或list()函数均可创建嵌套列表。图所示为一个嵌套列表。该列表中包含了5个列表元素,其中索引为0的元素为['2204201020030001','FILA',1035,568,36],元素本身也是一个列表。嵌套列表的元素访问嵌套列表中元素的访问方式与普通列表一样,可以使用索引访问嵌套列表中的元素。若希望访问嵌套的内层列表中的元素,则需要先使用索引获取内层列表,再使用索引访问被嵌套列表中的元素。cust_list=[["2204201020030001","FILA",1035,568,36],["2204201020030002","MacbookAir",7999,7199,3],["2204201020030003","DellXPS13",10850,5688,93],["2204201020030004","SAILOR",206,184,73],["2204201020030005","HERO",158,128,68]]print('商品1',cust_list[0][1])print('商品2',cust_list[1][1])print('商品3',cust_list[2][1])print('商品4',cust_list[3][1])print('商品5',cust_list[4][1])#实例3-18嵌套列表元素的访问代码运行结果如下:运行结果如下:商品1FILA商品2MacbookAir商品3DellXPS13商品4SAILOR商品5HERO列表的其他常用函数cust_no1=['Tina','Aaron','Donald','Tina','Betty','Michelle','Tina']cust_no1.count('Tina')运行结果如下:3#实例3-19使用count()函数查询元素出现的次数cust_no1=['Tina','Aaron','Donald','Tina','Betty','Michelle','Tina']len(cust_no1)运行结果如下:7#实例3-20使用len()函数查询列表元素的个数列表的其他常用函数cust_no1=['Tina

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论