欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    python基础学习教程.pptx

    • 资源ID:77658960       资源大小:1.24MB        全文页数:128页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    python基础学习教程.pptx

    1目录Python语言数据类型、运算符和表达式Python的数据结构Python的流程控制Python函数Python模块Python的输入、输出异常处理第1页/共128页2Python语言数据类型、运算符和表达式Python基础第2页/共128页3Python语法基础文件类型Python程序基本概念Python运算符和表达式第3页/共128页文件类型在交互模式下,想输入多少Python命令,就输入多少;每个命令在输入回车后都立即运行。只要不重新开启新的解释器,我们都在同一个会话中运行,因此,前面定义的变量,后面的语句都可以使用。一旦关闭解释器,会话中的所有变量和敲入的语句将不复存在。4第4页/共128页文件类型为了能够永久保存程序,并且能够被重复执行,我们必须要将代码保存在文件中,因此,就需要用编辑器来进行代码的编写,和其他编程语言一样,不同的Python的源代码可以直接执行而不需要像编译型语言一样编译成二进制代码。Python源代码文件就是普通的文本文件,只要是能编辑文本文件的编辑器都可以用来编写Python程序,如notepad/word等。5第5页/共128页6文件类型Python的文件类型分为三种:源代码、字节代码、优化代码。源代码Python源代码文件,即py脚本文件,由python.exe解释,可在控制台下运行。pyw脚本文件是图形用户接口(Graphicaluserinterface)的源文件,专门用来开发图形界面,由pythonw.exe解释运行。第6页/共128页7文件类型字节代码Python源文件经过编译后生成的pyc文件,即字节文件。它与平台无关,所以可以移植到其他系统上。下面这段脚本可以把example.py编译为example.pyc#compilepytopycimportpy_compilepy_pile(example.py)运行此脚本即可得到example.pyc第7页/共128页文件类型不能在python的交互界面中运行。只能够在DOS屏幕上运行:pythonexample.pyc在程序中调用可以用:os.system(pythonexample.pyc)优化代码经过优化的源文件生成扩展名为pyo的文件,即优化文件。下面步骤可以把example.py编译为example.pyo启动命令行窗口,进入example.py所在目录:D:cdD:pathexamples8第8页/共128页文件类型在命令行中输入python-O-mpy_compileexample.py参数-O表示生成优化代码参数-m表示导入的py_compile模块作为脚本运行。编译example.pyo需要调用py_compile模块中的compile()方法参数example.py是待编译的文件名。能够在DOS屏幕上运行:pythonexample.pyo9第9页/共128页文件类型当程序比较大的时候,可以将程序划分成多个模块编写,每个模块用一个文件保存。模块之间可以通过导入互相调用(import)。模块也可以导入库中的其他模块。Python是以模块进行重用的,模块中可以包括类、函数、变量等。10第10页/共128页编码风格以“#”号开头的内容为注释,python解释器会忽略该行内容。在Python中是以缩进(indent)来区分程序功能块的,缩进的长度不受限制,但就一个功能块来讲,最好保持一致的缩进量。可以使用空格、Tab键等,但是最好保持一致如果一行中有多条语句,语句间要以分号(;)分隔。11第11页/共128页Python程序基本概念常量一个字面意义上的常量的例子是如同5、1.23、9.25e-3这样的数,或者如同Thisisastring、“Itsastring!”这样的字符串。它们被称作字面意义上的,因为它们具备字面的意义按照它们的字面意义使用它们的值。数2总是代表它自己,而不会是别的什么东西它是一个常量,因为不能改变它的值。因此,所有这些都被称为字面意义上的常量。12第12页/共128页Python程序基本概念数在Python中有4种类型的数整数、长整数、浮点数和复数。2是一个整数的例子。长整数不过是大一些的整数。3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3*10-4。(-5+4j)和(2.3-4.6j)是复数的例子13第13页/共128页Python程序基本概念字符串字符串是字符的序列。C语言中用字符数组表示,如charstr20=“hello”.Python中的字符串可以如下表示:使用单引号():可以用单引号指示字符串,就如同Helloworld这样。所有的空白,即空格和制表符都照原样保留。使用双引号(“):在双引号中的字符串与单引号中的字符串的使用完全相同,例如”Whatsyourname?“。14第14页/共128页Python程序基本概念使用三引号(或“”“):利用三引号,可以指示一个多行的字符串,可以在三引号中自由的使用单引号和双引号,如:15这是一个多行的字符串,你可以写入任意字符,甚至是单引号和双引号第15页/共128页Python程序基本概念转义符假设想要在一个字符串中包含一个单引号(),那么该怎么指示这个字符串?例如,这个字符串是Whatsyourname?。肯定不能用Whatsyourname?来指示它,因为Python会弄不明白这个字符串从何处开始,何处结束。所以,需要指明单引号而不是字符串的结尾。可以通过转义符来完成这个任务。用来指示单引号注意这个反斜杠。现在可以把字符串表示为Whatsyourname?。16第16页/共128页Python程序基本概念17另一个表示这个特别的字符串的方法是“Whatsyourname?”,即用双引号。类似地,要在双引号字符串中使用双引号本身的时候,也可以借助于转义符。另外,可以用转义符来指示反斜杠本身。值得注意的一件事是,在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行.Thisisthefirstsentence.Thisisthesecondsentence.Thisisthefirstsentence.Thisisthesecondsentence.第17页/共128页Python程序基本概念18自然字符串如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。例如rNewlinesareindicatedbyn“比较下面两句话的区别:printNewlinesareindicatedbynhelloprintrNewlinesareindicatedbynhello第18页/共128页Python程序基本概念19Unicode字符串Unicode是书写国际文本的标准方法。如果想要用中文、日文、韩文等写文本,那么需要有一个支持Unicode的编辑器。类似地,Python允许处理Unicode文本只需要在字符串前加上前缀u或U。例如,uThisisaUnicodestring.。在处理文本文件的时候尽量使用Unicode编码,特别是文件中含有用非英语的语言写的文本。第19页/共128页Python程序基本概念20字符串是不可变的这意味着一旦创造了一个字符串,就不能再改变它了。虽然这看起来像是一件坏事,但实际上它不是。我们将会在后面的程序中看到为什么说它不是一个缺点。级连字符串如果把两个字符串按字面意义相邻放着,他们会被Python自动级连。例如,Whatsyourname?会被自动转为Whatsyourname?Whatsyourname?Whatsyourname?Whats+your name?第20页/共128页Python程序基本概念变量仅仅使用字面意义上的常量很快就会不能满足我们的需求我们需要一种既可以储存信息又可以对它们进行操作(改变它的内容)的方法。这是为什么要引入变量。变量的值可以变化,即可以使用变量存储任何东西。变量只是计算机中存储信息的一部分内存。与字面意义上的常量不同,需要一些能够访问这些变量的方法,因此要给变量命名。21第21页/共128页Python程序基本概念标识符的命名变量是标识符的例子。标识符是用来标识某样东西的名字。在命名标识符的时候,要遵循这些规则:标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(_)。标识符名称的其他部分可以由字母(大写或小写)、下划线(_)或数字(0-9)组成。22第22页/共128页Python程序基本概念标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中的小写n和后者中的大写N。有效标识符名称的例子有i、_my_name、name_23和a1b2_c3。无效标识符名称的例子有2things、thisisspacedout和my-name。23第23页/共128页Python程序基本概念标识符的命名标识符的命名-关键字关键字24anddelfromnotwhileaselifglobalorwithassertelseifpassyieldbreakexceptimportprintclassexecinraisecontinuefinallyisreturndefforlambdatry第24页/共128页Python程序基本概念标识符的命名-类保留_*:frommoduleimport*将不被导出。交互环境最后表达式的值。_*_:系统定义的名字_*:类的私有变量或方法25第25页/共128页Python程序基本概念数据类型每个变量都有自己的类型,可以处理不同类型的值,称为数据类型。基本的类型是数和字符串,我们已经讨论过它们了。在后面的章节里面,我们会研究怎么用类创造我们自己的类型。Python中一切都是对象,包括字符串和数。26第26页/共128页Python程序基本概念对象Python把在程序中用到的任何东西都称为对象。Python是完全面向对象的语言,任何变量都是对象,甚至包括执行的代码:函数。27#Filename:var.pyi=5printii=i+1printis=Thisisamulti-linestring.Thisisthesecondline.prints第27页/共128页Python程序基本概念逻辑行与物理行物理行是在编写程序时所看见的。逻辑行是Python看见的单个语句。Python假定每个物 理行对应一个逻辑行Python希望每行都只使用一个语句,这样使得代码更加易读如果想要在一个物理行中使用多于一个逻辑行,那么需要使用分号(;)来特别地标明这种用法。分号表示一个逻辑行/语句的结束。例如:28i=5printii=5;printi;i=5;printi第28页/共128页Python程序基本概念强烈建议坚持在每个物理行只写一句逻辑行。仅仅当逻辑行太长的时候,在多于一个物理行写一个逻辑行。这些都是为了尽可能避免使用分号,从而让代码更加易读。下面是一个在多个物理行中写一个逻辑行的例子。它被称为明确的行连接。29s=Thisisastring.Thiscontinuesthestring.printsThisisastring.Thiscontinuesthestring.第29页/共128页Python程序基本概念有一种暗示的假设,可以不需要使用反斜杠。这种情况出现在逻辑行中使用了圆括号、方括号或波形括号的时候。这被称为暗示的行连接.。30a=100,200printa第30页/共128页Python程序基本概念缩进空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。错误的缩进会引发错误不同于C/C+、Java用的是31i=5printValueis,i#Error!NoticeasinglespaceatthestartofthelineprintIrepeat,thevalueis,i第31页/共128页Python程序基本概念如何缩进不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。强烈建议在每个缩进层次使用单个制表符或两个或四个空格。选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即只使用这一种风格。32第32页/共128页Python程序基本概念Python迫使程序员写成统一、整齐并且具有可读性程序的主要方式之一,这就意味着必须根据程序的逻辑结构,以垂直对齐的方式来组织程序代码,结果就是让程序更一致,并具有可读性,因而具备了重用性和可维护性,对自己和他人都是如此。33if(x)if(y)statements;elsestatements;ifx:ify:statementselse:statements第33页/共128页Python程序基本概念Python程序结构1.程序由模块构成2.模块包含语句3.语句包含表达式4.表达式建立并处理对象Python语法实质上是有语句和表达式组成的。表达式处理对象并嵌套在语句中。语句编程实现程序操作中更大的逻辑关系。此外,语句还是对象生成的地方,有些语句会生成新的对象类型(函数、类等)。语句总是存在于模块中,而模块本身则又是由语句来管理的。34第34页/共128页Python程序基本概念Python语法Python增加了什么新的语法成分冒号(:)。所有的复合语句(语句中嵌套了语句)都有相同的一般形式,就是首行以冒号结尾,首行下一行嵌套的代码往往按缩进的格式书写。Python删除了什么括号是可选的终止行就是终止语句(分号)缩进的结束就是代码块的结束()35if(xy)x=1;y=2;ifxy:x=1y=2第35页/共128页运算符与表达式编写的大多数语句(逻辑行)都包含表达式。一个简单的表达式例子如2+3。一个表达式可以分解为运算符和操作数。运算符的功能是完成某件事,它们由如+这样的符号或者其他特定的关键字表示。运算符需要数据来进行运算,这样的数据被称为操作数。在这个例子中,2和3是操作数。在Python中,表达式可以作为语句,但表达式结果不会存储。36第36页/共128页运算符及其用法 37运算符运算符名称名称说明说明例子例子+加两个对象相加3+5得到8。a+b得到ab。-减得到负数或是一个数减去另一个数-5.2得到一个负数。50-24得到26。*乘两个数相乘或是返回一个被重复若干次的字符串2*3得到6。la*3得到lalala。*幂返回x的y次幂3*4得到81(即3*3*3*3)/除x除以y4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333/取整除返回商的整数部分4/3.0得到1.0%取模返回除法的余数8%3得到2。-25.5%2.25得到1.5左移把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1)2 右移把一个数的比特向右移一定数目11 1得到5。11按比特表示为1011,向右移动1比特后得到101,即十进制的5。第37页/共128页运算符及其用法38运算符运算符名称名称说明说明例子例子&按位与数的按位与5&3得到1。|按位或数的按位或5|3得到7。按位异或数的按位异或 5 3得到6按位翻转x的按位翻转是-(x+1)5得到6。第38页/共128页运算符及其用法39运算符运算符名称名称说明说明例子例子小于返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。5 3返回0(即False)而3 5返回1(即True)。比较可以被任意连接:3 5 大于返回x是否大于y5 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False。=小于等于返回x是否小于等于yx=3;y=6;x=大于等于返回x是否大于等于yx=4;y=3;x=y返回True。=等于比较对象是否相等x=2;y=2;x=y返回True。x=str;y=stR;x=y返回False。x=str;y=str;x=y返回True。!=不等于比较两个对象是否不相等x=2;y=3;x!=y返回True。第39页/共128页运算符及其用法40运算符运算符名称名称说明说明例子例子not布尔“非”如果x为True,返回False。如果x为False,它返回True。x=True;not y返回False。and布尔“与”如果x为False,x and y返回False,否则它返回y的计算值。x=False;y=True;x and y,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象 称为短路计算。or布尔“或”如果x是True,它返回True,否则它返回y的计算值。x=True;y=False;x or y返回True。第40页/共128页运算符优先级如果有一个如2+3*4那样的表达式,是先做加法呢,还是先做乘法?应当先做乘法这意味着乘法运算符的优先级高于加法运算符。下面给出Python运算符优先级。41第41页/共128页运算符优先级由高向低42运算符运算符描述描述expr字符串转换key:expr,.字典expr1,expr2.列表(expr1,expr2,.)元组function(expr,.)函数调用xindex:index切片xindex下标索引取值x.attribute属性引用x按位取反+x,-x正,负x*y幂x*y,x/y,x%y乘,除,取模运算符运算符描述描述x+y,x-y加,减xy移位x&y按位与xy按位异或x|y按位或xy,x=y,xy比较x is y,x is not y等同测试x in y,x not in y成员判断not x逻辑否x and y逻辑与x or y逻辑或lambda arg,.:exprLambda匿名函数 第42页/共128页运算符优先级建议使用圆括号来分组运算符和操作数,以便能够明确地指出运算的先后顺序,使程序尽可能地易读。例如,2+(3*4)显然比2+3*4清晰。与此同时,圆括号也应该正确使用,而不应该用得过滥,比如:(2+(3+4)。43第43页/共128页运算符优先级计算顺序默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。然而,如果想要改变它们的计算顺序,可以使用圆括号。例如,想要在一个表达式中让加法在乘法之前计算,那么就可以写成类似(2+3)*4的样子。结合规律运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算。例如,2+3+4被计算成(2+3)+4。一些如赋值运算符那样的运算符是由右向左结合的,即a=b=c被处理为a=(b=c)。44第44页/共128页真值表45对象对象/常量常量值值假string真0假=1真 import sys print sys.maxint2147483647第52页/共128页数字常量数字常量53数字数字常量常量1234,-24,0一般整数(c语言长整型)999999999999999999999999999L98888888888888888l长整型数(无限大小)1.23,3.14e-10,4E210,4.0e+210浮点数(C语言双精度浮点数)0177,0 x9ff八进制、十六进制3+4j,3.0+4.0j,3J复数常量第53页/共128页内置数学工具和扩展内置数学工具和扩展表达式操作符+、-、*、/、*内置数学函数pow、abs公用模块random、math等专业扩展NumPy矩阵、向量处理等54第54页/共128页数字的基本应用数字的基本应用55 a=3 b=4 a+14 a-12 b*312 b/22 a%21 b*216 2.0*b16.0 c*2Traceback(most recent call last):File,line 1,in NameError:name c is not defined b/2+a5 b/(2.0+a)0.80000000000000004 print b/(2.0+a)0.8第55页/共128页数字显示的格式数字显示的格式56 num=1/3.0 num0.33333333333333331 print num0.333333333333%e%num3.333333e-01%2.2f%num0.33 第56页/共128页数学内置函数和内置模块数学内置函数和内置模块math模块-普通数学函数cmath模块-处理复数的模块57 acos,fsum,acosh,hypot,asin,isinf,asinh,isnan,atan,ldexp,atan2,log,atanh,log10,ceil,log1p,copysign,modf,cos,pi,cosh,pow,degrees,radians,e,sin,exp,sinh,fabs,sqrt,factorial,tan,floor,tanh,fmod,trunc frexp,acos,log,acosh,log10,asin,phase,asinh,pi,atan,polar,atanh,rect,cos,sin,cosh,sinh,e,sqrt,exp,tan,isinf,tanh isnan,第57页/共128页数学内置函数和内置模块数学内置函数和内置模块random模块用于产生随机数58 import random random.random()0.33452758558893336 random.randint(1,10)5 random.choice(a,b,c)c第58页/共128页字符串的定义59o字符串在python被看成是单个字符的序列,具有序列对象的特殊功能,字符串是固定的,不可变的。o可在字符串中使用单引号和双引号,注意要搭配。如boy,”girl”等。o字符串内部的一个反斜杠“”可允许把字符串放于多行o也可以使用三个或”使字符串跨行。o使用“*”号重复字符串,如:hello*3hellohellohello a=12345.67890 print a1234567890 a=hello*3 print ahellohellohello a=123456.7890 print a1234567890第59页/共128页转义符60转义字符转义字符描述描述反斜杠符号单引号双引号a响铃b退格(Backspace)e转义000空v纵向制表符t横向制表符r回车转义字符转义字符描述描述n换行(在行尾时)续行符f换页oyy八进制数yy代表的字符,例如:o12代表换行xyy十进制数yy代表的字符,例如:x0a代表换行other其它的字符以普通格式输出 不想让转义字符生效时,用r和R来定义原始字符串。如:print rtr tr第60页/共128页字符串基本操作字符串基本操作+字符串合并*字符串重复61 len(abc)3 abc+defabcdef abc defabcdef hello*4hellohellohellohello abc+9Traceback(most recent call last):File,line 1,in TypeError:cannot concatenate str and int objects第61页/共128页字符串基本操作字符串基本操作可以用for语句在一个字符串中进行迭代,并使用in表达式操作符进行成员关系的测试,这实际上是一种搜索。for循环指派了一个变量去获取一个序列其中的元素,并对每一个元素执行一个或多个语句,变量c相当于在字符串中步进的指针。62 s=hello for c in s:.print c,.h e l l o h in sTrue b in sFalse第62页/共128页字符串索引和分片字符串索引和分片字符串是字符的有序集合,能够通过其位置来获得他们的元素Python中字符串中的字符是通过索引提取的索引从0开始,但不同于C语言的是可以取负值,表示从末尾提取,最后一个是-1,前一个是-2,依次类推,认为是从结束处反向计数63 s=spam s0s s1p s-1m s-2a第63页/共128页字符串索引和分片字符串索引和分片分片:从字符串中分离提取了一部分内容(子字符串);可以用于提取部分数据,分离出前、后缀等场合。当使用一对以冒号分隔的偏移索引字符串这样的序列对象时,Python就返回一个新的对象,其中包含了以这对偏移所标识的连续的内容。左边的偏移被取作是下边界(包含下边界在内),而右边的偏移被认为是上边界(不包括上边界在内)。如果被省略上下边界的默认值分别对应为0和分片对象的长度。64 s=spam s1:3pa s1:pam s:-1spa s:spam第64页/共128页索引和分片的总结索引和分片的总结索引(si)获取特定偏移的元素第一个元素的偏移为0负偏移索引意味着从最后或右边反向进行计数s0获取第一个元素s-2获取倒数第二个元素65第65页/共128页索引和分片的总结索引和分片的总结分片(si:j)提取对应的部分作为一个序列上边界并不包含在内分片的边界默认为0和序列的长度,如果没有给出的话s1:3获取从偏移为1开始,直到但不包含偏移为3的元素s1:获取了从偏移为1直到末尾之间的元素s:3获取从偏移为0直到但不包含偏移为3的元素s:-1获取从偏移为0直到但不包含最后一个元素之间的元素s:获取从偏移为0直到末尾之间的所有元素66第66页/共128页分片的扩展形式分片的扩展形式在Python2.3后,分片表达式增加了一个可选的第三个索引,用作步进选取完整形式为:XI:J:K,这表示:索引(获取)对象X中元素,从偏移为I直到J-1,每隔K元素索引一次K默认为1,这就是通常在切片中从左至右提取每个元素的原因步进为负数表示将会从右至左进行而不是从左至右67第67页/共128页分片的扩展形式分片的扩展形式 X1:10:2会取出X中,偏移量1-9之间,间隔一个元素的元素,即获取偏移量为1、3、5、7、968 s=abcdefghijklmnop s1:10:2bdfhj s:2acegikmo s=0123456 s:0123456 s:-16543210 s:-26420 s1:5:-1 s5:1:-15432 s9:-16543210 s6:-1:-1 s6:-2:-16第68页/共128页字符串转化字符串转化Python不允许字符串和数字直接相加。这是有意设计的,因为+既能够进行加法运算也能够进行合并运算,这样的语法会变得模棱两可,因此,Python将其作为错误处理,在Python中,如果让操作变得复杂或含糊,就会避免这样的语法。69 15+1Traceback(most recent call last):File,line 1,in TypeError:cannot concatenate str and int objects第69页/共128页字符串转化字符串转化如果用户从文件或用户界面得到一个作为字符串的数字,怎么把这个字符串变为数字型呢?这就用到类型的转换函数70 s=42 type(s)i=int(s)type(i)s1=str(i)type(s1)s=15 s+1Traceback(most recent call last):File,line 1,in TypeError:cannot concatenate str and int objects int(s)+116通过明确的手动类型转换再进行+操作第70页/共128页字符串转化字符串转化常用的类型转换还有字符串到浮点型的转换。之后会深入学习内置的eval函数,用于运行一个包含了Python表达式代码的字符串。71 s=15.0 float(s)15.0 eval(12)12 eval(12+3)15第71页/共128页字符串代码转换字符串代码转换单个字符可以通过ord函数转换为对应的ASCII数值(整数)。chr函数相反,可以将一个整数转换为对应的字符。72 ord(a)97 chr(97)a第72页/共128页修改字符串修改字符串缺省情况下,字符串对象是“不可变序列”,不可变的意思是不能实地的修改一个字符串。那如何改变一个字符串呢?这就要利用合并、分片这样的工具来建立并赋值给一个新的字符串;必要的话,可以将结果赋值给字符串最初的变量名。73 s=spam s0=xTraceback(most recent call last):File,line 1,in TypeError:str object does not support item assignment s=spam s=s+SPAM sspamSPAM s=s:4+OK!+s-1 sspamOK!M第73页/共128页修改字符串修改字符串每修改一次字符串就生成一个新的字符串对象,这看起来好像会造成效率下降,其实,在Python内部会自动对不再使用的字符串进行垃圾回收,所以,新的对象重用了前面已有字符串的空间。Python的效率比我们想象的要好。74第74页/共128页字符串格式化字符串格式化Python可以用%操作符编写格式化的字符串格式化字符串:1、在%操作符左侧放置一个需要进行格式化的字符串,这个字符串带有一个或多个嵌入的转换目标,都以%开头,如%d、%f等2、在%操作符右侧放置一个对象(或多个,在括号内),这些对象会被插入到左侧格式化字符串的转换目标的位置上75 bookcount=10 there are%d books%bookcountthere are 10 books第75页/共128页字符串格式化字符串格式化76%d%s%d you%(1,spam,4)1 spam 4 you%s-%s-%s%(42,3.1415926,1,2,3)42-3.1415926-1,2,3左侧的目标位置都要求是%s(字符串),这就表示要将右边的对象都转换为字符串另外要注意的是,格式化总会返回新的字符串作为结果,另外要注意的是,格式化总会返回新的字符串作为结果,而不是对左侧的字符串进行修改,由于字符串是不可变的;而不是对左侧的字符串进行修改,由于字符串是不可变的;因此,如果需要的话,可以分配一个变量名来保持结果因此,如果需要的话,可以分配一个变量名来保持结果第76页/共128页List列表 77o列表是Python中最具灵活性的有序集合对象类型。和字符串不同的是,列表可以包含任何种类的对象:数字、字符串、自定义对象甚至其他列表。o似与其他高级语言的数组列表是可变对象,支持在原处修改,可以通过指定的偏移值和分片、列表方法调用、删除语句等方法实现。第77页/共128页列表的主要性质列表的主要性质78o任意对象的有序集合从功能是看,列表就是收集其他对象的地方,可以他们看成数组;同时,列表所包含的每一项都保持了从左到右的位置顺序(也就是说,它们是序列)。o通过偏移读取和字符串一样,可以通过列表对象的偏移对其进行索引,从而读取对象的一部分内容。当然也可以执行诸如分片和合并之类的操作。第78页/共128页列表的主要性质列表的主要性质79o可变长度、异构以及任意嵌套和字符串不同,列表可以根据需要增长或缩短(长度可变),并且可以包含任何类型的对象,并支持任意的嵌套。o可变序列列表支持在原处的修改,也可以响应所有针对字符串序列的操作,如索引、分片以及合并。实际上,序列操作在列表与字符串中工作方式相同。唯一区别是:当合并或分片应用于列表时,返回新的列表而不是新的字符串。当然,支持某些字符串不支持的操作。第79页/共128页常用列表常量和操作常用列表常量和操作80操作解释L1=一个空的列表L2=0,1,2,3四元素列表L3=abc,10,def,ghi嵌套列表L2i索引L3ij索引的索引L2i:j分片len(L2)求长度L1+L2合并L2*3重复第80页/共128页列表的方法列表的方法append(x)把一个元素添加到列表的结尾,相当于alen(a):=xextend(L)通过添加指定列表的所有元素来扩充列表,相当于alen(a):=Linsert(i,x)在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如a.insert(0,x)会插入到整个链表之前,而a.insert(len(a),x)相当于a.append(x)。81第81页/共128页列表的方法列表的方法remove(x)删除链表中值为x的第一个元素。如果没有这样的元素,就会返回一个错误。pop(i)从链表的指定位置删除元素,并将其返回。如果没有指定索引,a.pop()返回最后一个元素。元素随即从链表中被删除。(方法中i两边的方括号表示这个参数是可选的,而不是要求输入一对方括号,会经常在Python库参考手册中遇到这样的标记。)82第82页/共128页列表的方法列表的方法index(x)返回链表中第一个值为x的元素的索引。如果没有匹配的元素就会返回一个错误。count(x)返回x在链表中出现的次数。sort()对链表中的元素进行适当的排序。reverse()倒排链表中的元素。83第83页/共128页列表的方法列表的方法84 a=66.6,333,333,1,1234.5 print a.count(333),a.count(66.6),a.count(x)2 1 0 a.insert(2,-1)a.append(333)a66.599999999999994,333,-1,333,1,1234.5,333 a.index(333)1 a.remove(333)a66.599999999999994,-1,333,1,1234.5,333 a.reverse()a333,1234.5,1,333,-1,66.599999999999994 a.sort()a-1,1,66.599999999999994,333,333,1234.5第84页/共128页List对象的操作85方法方法描述描述append(x)在列表尾部追加单个对象x。使用多个参数会引起异常。count(x)返回对象x在列表中出现的次数。extend(L)将列表L中的表项添加到列表中。返回None。Index(x)返回列表中匹配对象x的第一个列表项的索引。无匹配元素时产生异常。insert(i,x)在索引为i的元素前插入对象x。如list.insert(0,x)在第一项前插入对象。返回None。pop(x)删除列表中索引为x的表项,并返回该表项的值。若未指定索引,pop返回列表最后一项。sort()对列表排序,返回none。bisect模块可用于排序列表项的添加和删除。remove(x)删除列表中匹配对象x的第一个元素。匹配元素时产生异常。返回None。reverse()颠倒列表元素的顺序。help(list)Help(list.count)第85页/共128页把列表当作堆栈使用把列表当作堆栈使用链表方法使得链表可以很方便的做为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用append()方法可以把一个元素添加到堆栈顶。用不指定索引的pop()方法可以把一个元素从堆栈顶释放出来。举例:86 st=3,4,5 st.append(6)st.append(7)st3,4,5,6,7 st.pop()7 st3,4,5,6 st.pop()6 st.pop()5 st3,4第86页/共128页把列表当作队列使用把列表当作队列使用也可以把链表当做队列使用,队列作为特定的数据结构,最先进入的元素最先释放(先进先出)。使用append()方法可以把元素添加到队列最后,以0为参数调用pop()方法可以把最先进入的元素释放出来。87 queue=a,b,c queue.append(d)queue.appen

    注意事项

    本文(python基础学习教程.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开