资源描述
单击此处编辑母版标题样式,编辑母版文本样式,第二级,第三级,第四级,第五级,2022/4/3 Sunday,#,LOGO,01,教学分析,03,教学过程,04,教学效果,02,教学策略,单击此处编辑母版标题样式,编辑母版文本样式,第二级,第三级,第四级,第五级,2022/4/3 Sunday,#,单击此处编辑母版标题样式,编辑母版文本样式,第二级,第三级,第四级,第五级,2022/4/3 Sunday,#,单击此处编辑母版标题样式,编辑母版文本样式,第二级,第三级,第四级,第五级,2022/4/3 Sunday,#,LOGO,01,教学分析,03,教学过程,04,教学效果,02,教学策略,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/4/3 Sunday,#,感谢您下载包图网平台上提供的,PPT,作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿!,情境一 认识,Python,Python,程序设计,Python,想必大家都看到了,这两年火的来你随处都能看到它的身影。手机、电视、报纸、小区广告牌,甚至小学生都开始学,Python,了。,原因很简单,,Python,应用更广泛了,还有相对来说入门更容易。,然后就是,Java,,,Java,其实发展相对较晚,,Java,语言正式诞生其实是在,1995,年,到现在才二十几年。,随着互联网潮流的兴起,,Java,可以说一路红遍大江南北,包括,web,应用、桌面应用、安卓应用等。直到物联网的快速发展,,C,语言反超了,Java,。,最后说下,C,语言,从发展年龄来说,,C,语言绝对是老大哥,,1972,年,,C,语言诞生了。,因为,C,语言具有更高的运行效率(相对,C#,、,JAVA,等),从而被广泛应用计算机底层驱动,包括,现在绝大部分操作系统底层代码都是,C,语言写的,。,同时,因为物联网很多终端设备从,CPU,运行速度(效率)、存储资源来说,都比较依赖于,C,语言。随着物联网的快速发展,也进一步带动了,C,语言的活跃,了解,了解,掌握,掌握,知识和能力目标,了解,Python,发展历程、特点、应用领域,1,3,掌握,如何编写程序,掌握,PyCharm,编写简单,Python,程序,python,程序示例,4,2,了解,Python,开发环境的配置,了解,Python,2025/4/21 周一,2,3.,Python可以做些什么,4.,Python的优点,5.,Python和其他语言的比较,1.Python的发展历程,2.,为什么使用Python,2025/4/21 周一,1.Python的发展历程,Python,是一种简单易学,功能强大的编程语言。它有高效率的高层数据结构,能够简单、有效地实现面向对象编程。,Python,语法简单,支持动态输入,是解释型语言。在大多数平台上,对于众多领域,,Python,都是一个理想的开发语言,特别适合于应用程序的快速开发。,2025/4/21 周一,1.,Python的发展历程,目前,Guido van Rossum,在,Google,工作,后来到,Dropbox,公司工作,,主要从事,GAE/Python3.x,方面的研究。,创始人:,Guido van Rossum,吉多,时间地点:,1989,年圣诞节期间在阿姆斯特丹 创造,名字来源:大蟒蛇飞行马戏团的爱好者,来自英国肥皂剧,Monty Python,飞行马戏团,。,Guido,当初之所以选中,Python,作为语言的名字,是因为他太喜欢这部肥皂剧了。,渊源:从,ABC,发展而来,主要受,Modula-3,的影响,结合了,Unix shell,和,C,的习惯,2025/4/21 周一,1.,Python的发展历程,Python,面世,Python 2.0,于,2000,年,10,月,16,日发布,主要实现了完整的垃圾回收,并且支持,Unicode,。,Python 3.0,于,2008,年,12,月,3,日发布,此版不完完全兼容之前的,Python,源代码。,目前使用最广泛的版本是,Python,3.8,,最新的版本是,Python 3.9,2025/4/21 周一,1.,Python的发展历程,Python,的设计哲学:,01,简单,03,优雅,02,明确,Python,开发者的哲学:,“,用一种方法,最好是只有一种方法来做一件事,”,。,在设计,Python,语言时,如果面临多种选择,,Python,开发者总会拒绝花哨的语法,而选择明确的没有或者很少有歧义的语法。,2025/4/21 周一,2.,为什么使用Python,开源,Packt Publishing是世界上关于编程方面最大的出版商,它在2018年对11000名访客进行了调查,调查内容包括开发者使用的编程语言、喜欢的框架、薪酬信息等几个方面。调查显示,Python和JavaScript是当今最流行的编程语言,而Java紧随其后,排名第三。,2025/4/21 周一,3,.,Python可以做些什么,桌面,GUI,软件开发,(wxPython,PyQT),网络应用开发,(,内置模块,Twistd,Stackless),2/3D,图形处理,游戏开发,(PIL,pyGame),文档处理,科学计算,(moinmoin,numpy),Web,应用开发,(Flask,Django,Z,OPEQuixote),移动设备应用开发,(PyS60),数据库开发,(,支持,SQL,和,NOSQL,ZODB),嵌入其它应用,(,嵌入,C/C+,delphi,调用,DLL),3.1,运用领域,2025/4/21 周一,3,.,Python可以做些什么,3.2,谁在用,Python,典型几个国外公司,:,2025/4/21 周一,3,.,Python可以做些什么,典型几个国内公司,:,3.2,谁在用,Python,2025/4/21 周一,2,4,.,Python的优点,免费,Python的使用和分发是完全免费的。,可升级,Python提供了基本的开发模块,你可以在它上面,开发你的软件,而且当这些需要扩展和增长时,Python的可,插入性和模块化结构能使你的项目生机盎然并易于管理。,解释性,Python,编写的程序无需编译,可直接从源代码运,行程序。,易维护,几个月后阅读自己的代码,不会云里雾里。,可移植性,由于它的开源本质,,Python,已经被移植在许多,平台上。,2025/4/21 周一,面向对象,Python,即支持面向过程的编程也支持面向对象,的编程。在,“,面向过程,”,的语言中,程序是由过程或仅仅是可,重用代码的函数构建起来的。在,“,面向对象,”,的语言中,程序,是由数据和功能组合而成的对象构建起来的。面向服务,丰富的库,Python,标准库庞大。可帮助处理各种工作,包,括正则表达式、文档生成、单元测试、线程、数据库、网页,浏览器、,CGI,、,FTP,、电子邮件、,XML,、,XML-RPC,、,HTML,、,WAV,文件、密码系统、,GUI,(图形用户界面)、,Tk,和其他,与系统有关的操作,import include,4,.,Python的优点,Python,的特点,简单易学,开源,高级语言,可移植性,解释性,面向对象,可扩展,丰富的库,规范的代码,9,大,特,点,2025/4/21 周一,5,.,Python和其他语言的比较,Python VS,C,:,Python,是动态编译语言,,C,是静态编辑语言。,C,中内容管理是由开发者管理,,Python,中内存问题由,Python,解,释器负责。,Python,自带数据类型支持库。,C,中对于混杂数组(,Python,中,得列表)和哈希表(,Python,中得字典)还未存在标准库。,Python,不能用来写内核。,借助,Python,语言提供的,API,,使用,C,或者,C+,来对,Python,进行,功能性扩展。,2025/4/21 周一,Python VS Java,:,Python,支持面向对象,&,函数编程方式。,java,支持面向对象。,Python,比,Java,要简单,非常适合与构造快速原型。,Python,和,Java,适合多名程序员以渐进方式协同开发大型项目。,5,.,Python和其他语言的比较,Window,安装,Python,(,1,)访问,www.python.org/download/,。,选择安装包。,Window,安装,Python,(,2,)下载并完成,Python,的安装。,Window,安装,Python,(,3,)配置环境变量。,Window,安装,Python,(,4,)环境变量配置成功,Window,安装,Python,(,5,)下载,pip,。下载网站:,https:/pypi.python.org/pypi/pip#downloads,。,Window,安装,Python,(,6,)解压文件后,在,Path,最后面添加,Scripts,文件路径。再次打开控制台,输入,pip list,,出现下列信息表示,pip,安装成功,。,Pycharm,的下载安装,(,1,)访问,PyCharm,官方进入,Pycharm,的下载页面。,Pycharm,的下载安装,(,2,)双击,exe,下载文件,开始安装。,Pycharm,的使用,完成,PyCharm,的安装后,就可以打开并使用,PyCharm,了。,Pycharm,的使用,1,.,创建项目,Pycharm,的使用,2.,创建,Python,文件,开发环境安装及配置,方法,1,:命令行式运行,Python。,开发环境安装及配置,方法,2,:调用,IDLE,来启动,Python,图形化运行环境,开发环境安装及配置,方法,3,:使用,Pycharm,编译器来运行,python,程序,任务二,python,的基础语法,知识能力目标,1,、掌握输出函数,2,、掌握输入函数,3,、了解,python,的运算符,程序示例,01,示例程序:求两个整数的和与平均值,问题,:,由用户任意输入两个整数,求这两个数的和以及平均值是多少。,Step 1,:获取数据,Step 2,:计算和与平均值,Step 3,:输出结果,Step 1,:从键盘输入两个整数,m,和,n,Step 2,:,sum=m+n avg=,(,m+n,),/2,Step 3,:输出,sum,和,avg,示例程序:求两个整数的和与平均值,问题,:,由用户任意输入两个整数,求这两个数的和以及平均值是多少。,m=,eval,(,input,(,输入第一个整数:,),n=,eval,(,input,(,输入第二个整数:,),sum,=m+n,#,求和,avg=(m+n)/2,#,求平均,print,(,和为:,sum,),print,(,平均值为:,avg),示例程序:求两个整数的和与平均值,Python,程序的书写规则如下:,1,)使用换行符分隔,一般情况下,一行一条语句。,2,)从第一列开始,前面不能有任何空格,否则会产生语法错误。,3,)以,#,开始的语句是注释语句。,4,)在,Python,程序中所有的语法符号,都必须在英文输入法下输入,字符串中的符号除外。,5,)在,Python,中代码的缩进非常重要,具体将在第三章中介绍。,m=,eval,(,input,(,输入第一个整数:,),n=,eval,(,input,(,输入第二个整数:,),sum,=m+n,#,求和,avg=(m+n)/2,#,求平均,print,(,和为:,sum,),print,(,平均值为:,avg),标识符及命名规则,02,标识符及命名规则,Python,对标识符的构成是有要求的:,每个标识符必须以字母或下划线“,_,”开头,后跟字母、数字或下划线的任意序列。根据这个规则,以下都是,Python,中的合法名称:,x,,,num,,,num_1,,,numEggs,,,python123,;而,2x,,,a-b,,,num Eggs,都是不合法的。,在,Python,中,标识符区分大小写,。,标识符及命名规则,有一些标识符是,Python,本身的一部分,这些特殊的标识符被称为“关键字”或者是“保留字”,它们不能像普通标识符那样使用。,Python,关键字的完整列表可以用以下方式查看:,变量与赋值语句,03,变量与赋值语句,Python,是动态类型语言,即变量不需要显式声明数据类型。根据变量的赋值,,Python,解释器会自动确定其数据类型。,通过内置的,type(),函数,可以判断一个对象指向的数据类型。,变量与赋值语句,m,整数对象,2,m,整数对象,2,实数对象,2.6,执行语句,m=2,,解释器创建了整数对象,2,和变量,m,,并把,m,指向整数对象,2,。,接着执行,m=2.6,,解释器创建了实数对象,2.6,,并把,m,指向实数对象,2.6,。因此,m,的类型取决于它所指向的数据的类型,变量与赋值语句,变量的赋值,赋值就是,用一个变量来标识某个对象,其语法格式如下:,变量,=,表达式,最简单的表达式就是一个字面量,例如:,x=100,,即表示用变量,x,来标识一个整数对象,100,,,x,为这个整数对象的引用。,表达式也可以复杂一点,例如:,x=(100-20)/2,,这时,Python,会先求表达式的值,然后返回表达式结果对象,并用变量来引用该对象。,Python,中变量在访问之前,必须先绑定某个对象,也就是先赋值,否则会报错。,变量与赋值语句,Python,中变量在访问之前,必须先绑定某个对象,也就是先赋值,否则会报错。,在示例中显示,,x,和,str,两个变量都可以正常使用。当试图输出,y,的时候,系统会报错,因为,y,变量未赋值,因此不能直接使用。,变量与赋值语句,链式赋值,用于为多个变量同时赋值相同值。,这里的,x=y=z=200,等价于,x=200,、,y=200,、,z=200,三条语句。,变量与赋值语句,解包赋值语句,Python,支持将序列数据类型解包为对应相同个数的变量。,变量的个数必须与序列的元素个数一致,否则会产生错误,。,变量与赋值语句,解包赋值语句,利用解包赋值实现两个变量值的交换,数据的输入与输出,04,数据的输入与输出,输入语句,input,如果需要将用户输入的数据用一个变量来标识,可以使用如下的语句形式:,变量,=input(,提示字符串,),需要记住的是,这种形式的,input,语句只能得到,文本,(字符串),如果希望得到一个数字,我们需要将输入的数据做一些处理。,数据的输入与输出,输入语句,input,如果希望,输入,一个数字,,必须用,eval,函数解析输入数据。,数据的输入与输出,输入语句,input,变量,=,eval,(input(,提示字符串,),我们添加了一个内置的函数,eval(),,它“包裹”了,input,函数,。,在这种形式中,用户输入的字符串被解析为表达式以求值。,数据的输入与输出,输,出,语句,print,print,语句以文本形式显示信息,所有提供的表达式都从左到右求值,结果值以从左到右的方式显示在输出行上。默认情况下,在显示值之间放置一个空格字符,。,什么参数都没有的,print,输出一个空行,数据的输入与输出,输,出,语句,print,默认情况下,,print,输出完所有提供的表达式之后,会自动的换行,如果希望,print,输出完数据后不换行我们可以采用如下形式:,请注意,这是在文件方式下运行,,end=,“”,表示,print,输出完数据后不加任何字符,包括换行符。,数 值,05,数值,数值类型数据,整数类型(,int,)是表示整数的数据类型。与其他计算机语言有精度限制不同,,Python,中的整数位数可以为任意长度(只受限制于计算机内存)。整型对象是不可变对象。,浮点类型(,float,)是表示实数的数据类型。与其他计算机语言的双精度(,double,)和单精度(,float,)对应,,Python,中的浮点类型精度与系统相关。,数值,内置数值操作,运算符,描述,实例,结果,备注,+,加法,3+4.5,7.5,-,减法,12 4.8,7.2,*,乘法,2*5.0,10.0,/,实数除法,10/4,2.5,/,整数除法,10/4,2,采用向下取整方式,,-10/4=-3,%,取余,10%3,1,操作数可以为实数,,3.5%3=0.5,*,乘方,2*3,8,操作数可以为实数,,4.0*0.5=2.0,数值,内置数值操作,在这里要注意的是:,在乘法运算中,“,*,”不可以省略,在书写表达式的时候要和数学中的写法相区别。例如语句:,m=4ab,,必须写成:,m=4*a*b,。,Python,中的除法有两种,一种是单斜杠(,/,)表示实数除法,另一种是双斜杠(,/,),表示整除,它会对除后的结果进行取整操作。,数值,问题,:,需要找钱给用户,现在只有,50,元,,5,元和,1,元的人民币若干张。输入一个整数金,额值,给出找钱的方案,假设人民币足够多,且优先使用面额大的钱币。,money=,eval,(,input,(,输入金额:,),m50=money/50,#计算需要的50元面额的纸币数量,money=money%50,#使用50元面额钱币后剩下的金额,m5=money/5,money=money%5,m1=money,print,(,50元面额需要的张数:,m50),print,(,5元面额需要的张数:,m5),print,(,1元面额需要的张数:,m1),数值,复合赋值运算符,所有二元运算符(,+,、,-,、,*,、,/,、,/,、,%,、,*,)都可以跟赋值运算符结合在一起,形成复合赋值运算符(,+=,、,-=,、,*=,、,/=,、,/=,、,%=,、,*=,),复合赋值运算符中间不可有空格。若,a,和,b,为操作数,则,a+=b,,等价于,a=a+b,;,a*=b,,等价于,a=a*b,数值,内置数值函数,函数,描述,abs(x),求,x,的绝对值,divmod(x,y),输出,(x/y,x%y),pow(x,y,z),(x*y)%z,表示可选参数,当,z,省略的时候,等价于,x*y,round(x,ndigits),对,x,四舍五入操作,保留,ndigits,位小数,当,ndigits,省略的时候,返回,x,四舍五入后的整数值,max(x,1,x,2,x,n,),返回,x,1,x,2,x,n,中的最大值,min(x,1,x,2,x,n,),返回,x,1,x,2,x,n,中的最小值,数值,内置数值函数,函数,描述,abs(x),求,x,的绝对值,divmod(x,y),输出,(x/y,x%y),pow(x,y,z),(x*y)%z,表示可选参数,,当,z,省略的时候,等价于,x*y,round(x,ndigits),对,x,四舍五入操作,保留,ndigits,位小数,,当,ndigits,省略的时候,返回,x,四舍五入后的整数值,max(x,1,x,2,x,n,),返回,x,1,x,2,x,n,中的最大值,min(x,1,x,2,x,n,),返回,x,1,x,2,x,n,中的最小值,数值,使用,math,库,Python,数学计算的标准函数库,math,,提供了,4,个数学常数和,44,个函数。,math,库不支持复数类型,仅支持整数和浮点数运算。,math,库中的常数和函数不能直接使用,需要用关键字,import,引用后才可使用。,数值,使用,math,库,引用,math,库有两种方式:,方式,1,:,import math,方式,2,:,from math import,我们使用,math,库中的,pi,常数,在方式,1,中,,pi,常数前需要写上库名,即“,math.,”。在方式,2,中,我们用,import,直接引用了,math,中的常数,pi,,因此在使用,pi,时,前面不需要再加上库名。,数值,使用,math,库,引用,math,库有两种方式:,方式,1,:,import math,方式,2,:,from math import,方式,2,还有一种写法是:,from math import*,。如果采用这样的方式引入,math,库,则库中的所有常数和函数都可以直接使用,前面不需要加上“,math.,”。,数值,使用,math,库,(,math,库中的数学常数,),常数,数学形式,描述,pi,圆周率,值为,3.141592653589793,e,e,自然对数,值为,2.718281828459045,inf,正无穷大,负无穷大为,-inf,nan,非浮点数标记,,Not a Number,数值,使用,math,库,(,math,库中的,部分数值函数,),函数,数学形式,描述,fabs(x),返回,x,的绝对值,fmod(x,y),x%y,返回,x,和,y,的余数,fsum(x,y,),x+y+,浮点数精确求和,gcd(a,b),返回,x,和,y,的最大公约数,,a,和,b,为整数,trunc(x),返回,x,的整数部分,modf(x),返回,x,的小数和整数部分,ceil(x),向上取整,返回不小于,x,的最小整数,floor(x),向下取整,返回不大于,x,的最大整数,factorial(a),x!,返回,a,的阶乘,,a,为整数,数值,math,库中的,部分数值函数,使用示例:,数值,使用,math,库,(,math,库中的,部分幂对数与三角函数,1,),函数,数学形式,描述,pow(x,y),x,y,返回,x,的,y,次幂,exp(x),e,x,返回,e,的,x,次幂,,e,为自然对数,sqrt(x),返回,x,的平方根,log(x,base),返回,x,的对数值,只输入,x,时,返回,log2(x),返回,x,的,2,对数值,log10(x),返回,x,的,10,对数值,degrees(x),x,为弧度制,返回,x,对应的角度值,radians(x),x,为角度制,返回,x,对应的弧度值,hypot(x,y),返回,(x,y),坐标到原点,(0,0),的距离,数值,使用,math,库,(,math,库中的,部分幂对数与三角函数,2,),函数,数学形式,描述,sin(x),返回,x,的正弦函数值,,x,为弧度值,cos(x),返回,x,的余弦函数值,,x,为弧度值,tan(x),返回,x,的正切函数值,,x,为弧度值,asin(x),返回,x,的反正弦函数值,,x,为弧度值,acos(x),返回,x,的反余弦函数值,,x,为弧度值,atan(x),返回,x,的反正切弦函数值,,x,为弧度值,数值,math,库中的,部分幂对数与三角函数,使用示例:,字 符 串,06,字符串,字符串数据类型,:,使用单引号或双引号括起来的内容,称为字符串类型数据(,str,),可以使用以下,4,种方式定义。,单引号(,),其中可以包含双引号。,双引号(,”,),其中可以包含单引号。,三单引号(,),其中可以包含单引号和双引号,可以跨行。,三双引号(,”,),其中可以包含单引号和双引号,可以跨行。,字符串,字符串数据类型,:,字符串,字符串数据类型,:,name=,input,(,姓名:,),country=,input,(,国家:,),s=,世界那么大,,+name+,想去,+country+,看看,print,(s),+,实现字符串的拼接,字符串,字符串的索引与切片,Python,中字符串包括两种序号体系:正向递增序号和反向递减序号。,正向递增序号,反向递减序号,0,1,2,3,4,5,6,7,8,9,10,11,12,人,生,苦,短,,,我,学,P,y,t,h,o,n,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,字符串,字符串的索引与切片,0,1,2,3,4,5,6,7,8,9,H,e,l,l,o,M,i,k,e,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,字符串,字符串的索引与切片,Python,中字符串也提供区间访问方式,采用,头下标:尾下标,的方式,这种访问方式称为“切片”。,若有字符串,s,,,s,头下标:尾下标,表示在字符串,s,中取索引值从头下标到尾下标(,不包含尾下标,)的子字符串。,切片方式中,若头下标缺省,表示从开始取子串;若尾下标缺省,表示取到最后一个字符;若头下标和尾下标均缺省,则取整个字符串。,字符串,字符串的索引与切片,0,1,2,3,4,5,6,7,8,9,H,e,l,l,o,M,i,k,e,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,字符串,字符串的索引与切片,字符串切片还可以设置取子串的顺序,只需要再增加一个参数即可,把,头下标:尾下标,变成,头下标:尾下标:步长,。,当步长值大于,0,的时候,表示从左向右取字符;当步长值小于,0,的时候,表示从右向左取字符。,步长的绝对值减,1,,表示每次取字符的间隔是多少。,字符串,字符串的索引与切片,0,1,2,3,4,5,6,7,8,9,h,e,l,l,o,M,i,k,e,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,s0:5:1,正向取,s0:6:2,正向取,间隔一个字符取,s0:6:-1,反向取,但是头下标小于尾下标无法反向取,因此输出为空,s4:0:-1,反向取,索引值为,0,的字符无法取到,s4:-1,反向取,从索引值为,4,的字符依次取到开头字符,s:-1,反向取整串,s:-3,反向取,间隔两个字符取,字符串,字符串的索引与切片,问题,:,输入一个,1-12,的整数,输出对应的月份名称缩写。,可以利用字符串的切片操作来巧妙的解决这个问题。我们的基本思想是将所有的月份名称缩写存储在一个大的字符串中。,months=“JanFebMarAprMayJunJulAugSepOctNovDec”,这样可以通过切出适当的子字符串来查找特定的月份,关键是应该在哪里切片呢?,字符串,字符串的索引与切片,问题,:,输入一个,1-12,的整数,输出对应的月份名称缩写。,由于每个月的名称缩写都由三个字母组成,如果知道一个给定月份在字符串中开始的位置,就可以很容易地提取月份名称缩写。,monthAbbrev=monthspos:pos+3,这将获得从,pos,指示位置开始的长度为,3,的子串。那么如何计算这个,pos,呢?,字符串,字符串的索引与切片,问题,:,输入一个,1-12,的整数,输出对应的月份名称缩写。,输入的整数,m,月份名称缩写,切片的起始位置,pos,1,Jan,0,2,Feb,3,3,Mar,6,月份名称缩写与切片起始位置的关系,从表中数据可以看出切片的起始位置,pos=(m-1)*3,,接下来我们就可以开始编码了。,字符串,字符串的索引与切片,问题,:,输入一个,1-12,的整数,输出对应的月份名称缩写。,m=,int,(,input,(,输入0-12的整数:,),months=,JanFebMarAprMayJunJulAugSepOctNovDec,pos=(m-1)*3,print,(monthspos:pos+3),字符串,内置的字符串运算符,运算符,描述,+,字符串拼接,例如“,AB,”,+,“,123,”结果为“,AB123,”,*,字符串复制,例如“,Tom,”,*3,,结果为“,TomTomTom,”,in,判断是否为子串,例如“,H,”,in,“,Hello,”结果为,True,;,“,h,”,in,“,Hello,”结果为,False,字符串,内置的字符串,处理函数,函数,描述,len(x),返回字符串,x,的长度,str(x),将任意类型,x,所转换为字符串类型,chr(x),返回,Unicode,编码为,x,的字符,ord(x),返回字符,x,的,Unicode,编码值,hex(x),将整数,x,转换为十六进制数,并返回其小写字符串形式,oct(x),将整数,x,转换为八进制数,并返回其小写字符串形式,字符串,内置的字符串,处理函数,函数,描述,len(x),返回字符串,x,的长度,str(x),将任意类型,x,所转换为字符串类型,chr(x),返回,Unicode,编码为,x,的字符,ord(x),返回字符,x,的,Unicode,编码值,hex(x),将整数,x,转换为十六进制数,并返回其小写字符串形式,oct(x),将整数,x,转换为八进制数,并返回其小写字符串形式,字符串,内置的字符串,处理函数,Python,中字符使用的是,Unicode,编码标准,,,函数,chr(),和,ord(),可以实现编码与字符之间的转换。,字符串,内置的字符串,处理函数,观察输出结果:,大写字母,小写字母和数字字符的,Unicode,编码都是顺序排列的,例如,a,的编码为,97,,,b,的编码为,98,,可以推出,d,的编码为,100,。,小写字母的,Unicode,编码整体大于大写字母的,Unicode,编码,大写字母的,Unicode,编码整体大于数字字符的,Unicode,编码,。,字符串,内置的字符串,处理方法,Python,对字符串对象提供了大量的内置方法用于字符串的检测、替换和排版等操作。使用时需要注意的是,字符串对象是不可变的,所以字符串对象提供的涉及字符串“修改”的方法都是返回修改之后的新字符串,并不对原字符串做任何修改。,字符串,内置的字符串,处理方法,字符串查找类方法:,find(),、,rfind(),、,index(),、,rindex(),、,count(),find(),和,rfind(),方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,,如果不存在则返回,-1,。,index(),和,rindex(),方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,,如果不存在则抛出异常,。,count(),方法用来返回一个字符串在另一个字符串中出现的次数,如果不存在则返回,0,。,字符串,内置的字符串,处理方法,字符串查找类方法:,find(),、,rfind(),、,index(),、,rindex(),、,count(),字符串,内置的字符串,处理方法,字符串分隔类方法:,split(),、,rsplit(),、,partition(),、,rpartition(),split(),和,rsplit(),方法分别用来以指定字符为分隔符,从原字符串左端和右端开始将其分隔成多个字符串,并返回包含分隔结果的列表(列表将在后续章节中介绍)。默认按空白符号分隔字符串,,如,空格,换行符,制表符等,.,字符串,内置的字符串,处理方法,字符串连接方法:,join(),字符串的,join(),方法用来将列表中多个字符串进行连接,并在相邻两个字符串之间插入指定字符,返回新字符串。,字符串,内置的字符串,处理方法,大小写字符转换方法:,lower(),、,upper(),、,capitalize(),、,title(),、,swapcase(),字符串,内置的字符串,处理方法,字符串替换方法:,replace(),replace(),方法用来替换字符串中指定字符或子字符串,每次只能替换一个字符或子串,类似于,Word,,记事本等文本编辑器的查找和替换功能。该方法不修改原字符串,而是返回一个新字符串。,字符串,内置的字符串,处理方法,删除字符串两端,右端或左端连续空白字符和指定字符方法:,strip(),、,rstrip(),、,lstrip(),字符串,内置的字符串,处理方法,判断字符串是否以指定字符开始或结束方法:,startswith(),、,endswith(),字符串,内置的字符串,处理方法,判断字符串类型方法:,isupper(),、,islower(),字符串,内置的字符串,处理方法,字符串排版方法:,center(),、,ljust(),、,rjust(),、,zfill(),字符串,format,格式化方法,从,Python2.6,开始,新增了一种格式化字符串的方法,str.format(),,它增强了字符串格式化的功能,基本语法是通过“,”和“:”来代替以前的“,%,”。,format,方法可以有多个输出项,位置可以按指定顺序。,字符串,format,格式化方法,format,方法的默认顺序和指定顺序使用示例,字符串,format,格式化方法,设置项,可选值,“,*,”,“,=,”,“,-,”等,但只能是一个字符,默认为空格。,(居中),(右对齐)。,一个整数,指格式化后整个字符串的字符个数。,当使用,format,方法格式化字符串的时候,需要在“,”,中首先输入“:”,。,“:”称为格式引导符。“:”之后分别设置,。,字符串,format,格式化方法,强制转换,07,强制转换,强制类型转化是将表达式强制转换为所需的数据类型。,强制转换,强制类型转化是将表达式强制转换为所需的数据类型。,在,input,输入中可以使用,int,或者,float,来代替,eval,情境三,Python,基本结构,选择结构,循环语句,break,语句,continue,语句,了解,了解,掌握,掌握,学习和能力目标,if,选择结构的使用,1,2,掌握选择结构中,and,和,or,的使用,(重点),3,if,语句的基本语法格式,掌握,if,语句的嵌套使用(难点),掌握,了解,掌握,掌握,学习和能力目标,1,2,掌握,for,循环,的使用(重点),掌握,Python,中循环的嵌套(难点),3,4,了解,break,continue,的使用,掌握,while,循环,的使用,循环结构的使用,过渡页,01,判断语句,02,循环语句,03 Python,的其他语句,01,判断语句,判断语句,红灯停,绿灯行,现实生活中,过马路要看红绿灯,如果是绿灯才能过马路,否则需要停止等待。,if,语句,if,判断条件,:,满足条件时要做的事情,1,满足条件时要做的事情,2,.(,省略,).,满足条件时要做的事情,n,if,语句是最简单的条件判断语句,它可以控制程序的执行流程。,if-else,语句,if,条件,:,满足条件时要做的事情,1,满足条件时要做的事情,2,.(,省略,).,满足条件时要做的事情,3,else:,不满足条件时要做的事情,1,不满足条件时要做的事情,2,.(,省略,).,不满足条件时要做的事情,n,if-elif,语句,if,判断条件,1:,满足条件,1,时要做的事情,elif,判断条件,2:,满足条件,2,时要做的事情,elif,判断条件,3:,满足条件,3,时要做的事情,当满足判断条件,1,时,执行满足条件,1,时要做的事情,然后整个,if,结束;,如果不满足判断条件,1,,那么判断是都满足条件,2,,如果满足判断条件,2,,就执行满足条件,2,时要做的事情,然后整个,if,结束,当不满足判断条件,1,和判断条件,2,,如果满足判断条件,3,,则执行满足判断条件,3,时要做的事情,然后整个,if,结束。,if-elif,判断语句,该语句可以判断多种情况。,if,嵌套,购票,检票,上车,安检,if,嵌套,指的是在,if,或者,if-else,语句里面包含,if,或者,if-else,。,if,嵌套,if,条件,1:,满足条件,1,做的事情,1,满足条件,1,做的事情,2,.(,省略,).,if,条件,2:,满足条件,2,做的事情,1,满足条件,2,做的事情,2,.(,省略,).,过渡页,01,判断语句,02,循环语句,03 Python,的其他语句,02,循环语句,循环语句,跑 道,跑道是一圈一圈的,可以看做是循环的,while,循环,while,条件表达式:,条件满足,执行循环语句,while,循环语法格式,条件表达式永远为,true,,无限循环。,for,循环,Python
展开阅读全文