欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > PPT文档下载  

    python超级无敌培训.ppt

    • 资源ID:17694071       资源大小:646.50KB        全文页数:35页
    • 资源格式: PPT        下载积分:15积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

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

    python超级无敌培训.ppt

    python培训,员工培训中心,课程目的,总则:本课程主要讲解python的程序结构和python中各元素的用法。 掌握python的程序结构。 掌握python的数据类型的用法。 掌握python的输入、输出。 掌握python的函数定义。 掌握python的域名空间管理。 掌握python的模块的用法。 了解python的错误处理 了解使用python的类。 课程讲解需要结合实际的环境运作。,索引,python程序结构 python数据结构 模块 输入、输出 错误异常 类,python程序结构,python基本类型: int,长度为4字节。 long,长度不限制,可以无限大 string:字符串 float:浮点类型,兼容C语言的float和double 数值运算(同C语言一样): 运算符: +, -, * ,/ 赋值: = 2+2,2/3,1.0/3,(4+5)/2 width=2,width/3,python程序结构,Python 能够进行字符串运算。字符串有多种表示方法,可以使用单引号 和双引号。 “abcdef”, asdsakldjflisdf,sajdds中国sdf 字符串可跨越多行,用反斜杠续行。 hello = “This is a rather long string containingn several lines of text just as you would do in C.n Note that whitespace at the beginning of the line is significant.n“ 字符串可以利用+操作符进行连接操作,用*进行任意次连接操作 hello=“123456” hello=hello + “hello” + “test” +机会 hello = w*5 hello = hello *10 获取字符串长度使用len(str),print len(hello),python程序结构,python的语句块是以代码行前面的空格个数和制表符号的个数来确定的。空格数相同或者制表符数相同的代码行作为一个整的语句块来确定的。 python控制流分为: 顺序结构 a=1; b=2 c=“abcd” print a,b,c 注意顺序结构个语句行的前面的空格或者制表符数量必须一致。,python程序结构,if 语句可以使用0 个或多个elif部分,并且else部分是可选的。关键字elif是else if的简写,可避免书写时连续的缩进。 if . elif . elif .结构相当于其他语言中的switch 或者case结构 。 if x 0: x = 0 print 'Negative changed to zero' elif x = 0: print 'Zero' elif x = 1: print 'Single' else: print 'More',python程序结构,Python 的for语句和C或Pascal中的for语句有所区别:并不是遍历递增数列(Pascal),也不是给出步长和结束条件进行循环(C),而是按元素在序列中出现的顺序遍历序列元素。 如: a = 'cat', 'window', 'defenestrate' for x in a: print x, len(x) 如果要达到C或者pascal语言的循环的效果,必须借助range函数 for i in range(0,100,2): print i range函数原型如下: range(start,end,step),python程序结构,while语句与C语言类似: while condition: print 100, a=1 print a 在for和while循环的控制块中,可以使用: continue,break继续循环或者终止循环,函数定义,关键字def用于函数的定义,它后面是函数名,括号里的是形参表。 函数体从下一行开始,并用tab 键缩进或者4个空格。函数体的第一条语句可以是说明性的文字,即文档字符串,或称docstring。许多工具使用文档字符串自动打印文档,或者方便用户交互地浏览代码; 在代码中增加文档字符串是个好习惯,应该尽量养成。 def func(a,b): 该函数将实现a和b的加法 return a+b,python程序结构,python的函数可以象C+语言一样,使用缺省参数。 def func(a,b=10): return a+b func(10) func(10,100) 另外,可以在函数调用时,按照参数的名称指定参数的值。 如下面的函数调用,都是表示同样的效果。 func(a=10,b=100) func(b=100,a=10) func(10,b=100),索引,python程序结构 python数据结构 模块 输入、输出 错误异常 类,字符串的用法,字符串有灵活的取子串的方法: xm:n,m、n可以是正数,也可以是负数。 m为起点,n为终点。如果为负数,就从右边数,基数为-1。 如果为正数,就从左边数,基数为0。 xn,n=0,表示取x的第n个字符作为字符串。x=“123456”,那么x1就为”2”。 n0,表示从后往前取第n-1个字符。 x=“123456”,那么x-2就为”5” 可以的用法: xm::从第m到最后。x=“123456”, 那么x2:就为”3456” x:n:从最前到第n-1个。x=“123456”, 那么x:2就为”12” xm:n:从第m个到第n-1个。x=“123456”, 那么x2:4就为”34”,表用法,最有用的是表, 写成括以方括号并用逗号分开的一组的元素。表的元素不一定具有相同数据类型。 x1,”123123”,20.0,1,2,3,45 表中的元素可以是任何的python对象。 表的用法: xn:取表中的元素。n0时,从左数,n0,从右数。 如上面的x,x2为”123123” xm:n:取表的子表。m为起点,终点为n-1。 如 x2:3就为20 表可以使用加法,将两个表连接起来。x + 12,30,”test” 删除其中的元素,使用: del xn,删除第n个元素。,元组用法,表和字符串有许多相似的属性,如:索引和片段操作。它们是序列这一数据类型的两个例子。Python是较为先进的语言,那么它的序列数据类型也应有先进之处。的确,Python有另一种标准的序列:元组。 元组由一组逗号隔开的值组成, (1,2,”aasdfsadf”,test”) 元组是只读的,不能添加和删除其中的元素。 x=1,2,3,”asdfasdf”,(1,2,3) x也是一个元组 空的元组只能用(,)表示,不能用()表示 x1,x2,x3,x4,x5=x将x的各元素给x1,x2,x3,x4,x5赋值,字典,字典有时也称“关联存储”和“关联数组”。和序列通过数值来索引不同,字典通过键来索引;字符串和数值都能作为键。元组如果只包含字符串、数值和元组,也可以作为键。但不能把表作为键 。 最好把字典看成同无序的具有唯一(在同一个字典中)键的键:值对组成。 一对空的花括号代表空字典。 x=1:(1,2,3),”asdfsd”:1:1,2:10,(1,2,3):10 x1=(1,2,4) x“asdfsd”=1:1,2:10 x(1,2,3)=10 x100=“test”,索引,python程序结构 python数据结构 模块 输入、输出 错误异常 类,模块,模块可以包含可执行语句和函数定义。语句的目的是初始化模块,它们在模块第一次引入的时候执行。6.1 每一个模块都拥有私有的符号表,作为全局符号表供所有在模块中定义的函数使用。因此,模块的作者可以放心在模块内部使用全局变量而不用担心意外地与用户的全局变量冲突。另一方面,如果你清楚你在做什么,你也像引用模块函数一样和模块的全局变量打交道:modname.itemname. 模块也能引入模块。出于习惯,而不是需要,所有的import语句应该放在模块(或脚本等等)开头。引入的模块名存放在模块的全局符号表中。 import test test.val=1 from test import test #引入除了下划线(_)打头以外的所有名字。 print val,模块的搜索路径,当输入名为spam模块的时候,解释器首先在当前目录下搜索名为“spam.py”的文件,然在环境变量$PYTHONPATH所标明的一组目录下搜索。$PYTHONPATH与shell变量的表示方法是一样的,即一系列目录名。如果$PYTHONPATH没有设置,或文件还是找不到,搜索将在一个与安装无关的默认路径上继续。 实际上,搜索模块是按照表变量sys.path中的目录顺序来的。 sys.path由包含作为输入的脚本所在的目录(或当前目录),$PYTHONPATH 和那个与安装无关的默认路径所初始化的。 import sys print sys.path,标准模块,Python带有标准模块库,相关描述在独立的文档Python 库参考(以后称库参考)中。一些提供了不属于语言内核的操作的模块也被集成到了解释器中,这是出于效率,或对诸如系统调用之类的操作系统存取等方面的考虑。 有一个模块值得注意: sys,它被集成到每一个Python解释器中。 变量sys.path是字符串表,决定解释器模块搜索的路径,由环境变量$PYTHONPATH(不存在时用内置的默认路径)初始化。你可以用标准的表操作来改变这个变量。 import sys sys.path.append('/ufs/guido/lib/python'),索引,python程序结构 python数据结构 模块 输入、输出 错误异常 类,高级格式化输出,常常会遇到需要输出一些有格式的东西,而不仅仅是一些用空格分开的数值。Python提供了两种方法,可以控制格式化的输出。一种方法是事先将输出的字符串排列好;利用字符的块操作,用户可以组织任意形式的输出。标准模块的string中提供了各种填充符,我们后面将会讨论到。另一种方法是使用%加字符串作为左参数的方法。与C语言中的函数sprintf()-风格类似,%则将其左边的格式串与其右参数对应,并且从格式化操作中返回格式串对应的值。 va=1;vb=2;vc=“asdfsdF” print va,vb,vc print “%d,%x,%s” % (va,vb,vc) print格式 print formatstring % (parm list),文件的读写,open() 方法返回一个文件对象,通常使用两个参数:“open(filename, mode)”。 f= open(“test”,”r+”) 读取文件的内容,可以调用方法f.read(size)。它从文件中读取一定数量的数据并以字符串的形式返回。当 size参数省略或为负数时,将返回整个的文件内容。 s = f.read(100) f.readline()用以读取一行数据。 f.write(“asdfsadfsdafn”)往文件对象f中写入数据。字符串可以是二进制流数据。 f.tell()获取文件的长度。 f.close()关闭文件。,索引,python程序结构 python数据结构 模块 输入、输出 错误异常 类,语法错误,语法错误又称之为语法分析错误,它可能是你在学习Python语言过程中抱怨得最多的。 while 1 print 'Hello world' File “, line 1 while 1 print 'Hello world' SyntaxError: invalid syntax 语法分析器会打印出错误所在行的内容,并用一个小 箭头' 标出该行中最早出现错误的地方。错误就是(至少是)由箭头 前面 的标志符引起的。在上面的例子中,错误发生在关键字 print 的地方,在它的前面缺少了 (“:“) 。同时,语法分析器还会打印出文件名和行号,以便于在脚本中查找该错误。,异常,尽管语句或表达式的语法定义都正确,但是执行时仍然会产生错误,这样的错误就称之为 异常 。然而, 大多数的异常并不是由程序本身控制错误提示信息的输出的。 4 + spam*3 Traceback (innermost last): File “, line 1 NameError: spam '2' + 2 Traceback (innermost last): File “, line 1 TypeError: illegal argument type for built-in operation 上面各例中,最后一行说明了发生的是哪一种类型的异常。异常有不同的类型,并作为提示信息的一部分,上面的例子中的异常类型有:NameError 和 TypeError 。打印的异常类型的名字是该类异常的内部名,对于内部定义的异常是这样的,而对于用户自定义的异常(也是很有用的异常)则不同,标准的异常类型名称是内部的标识符(不是保留字)。,异常处理,接管异常处理,类似C异常处理: try: #执行语句 except (RuntimeError, TypeError): #异常时的处理语句 except TypeError,detail: . print detail #异常时的处理语句 else: 当异常发生时,应该能传递某一个值,这个值能被 except 子句中的 参数 接收。这个参数的类型和出现的形式由异常类型决定。对于带有参数的异常类型,except 子句可以在异常名或异常名列表后指定一个变量,用来接收参数的值。类似上面的TypeError,detail应用。,引发异常,raise 语句强制产生某种异常发生,例如: raise NameError, HiThere Traceback (innermost last): File “”, line 1 NameError: HiThere raise后面的第一个参数指定了引发异常的类型,第二个参数则指定异常的参数,并且是可选择的。 通过将一个字符串赋值给一个变量,程序可以命名自己的异常。例如: my_exc = 'my_exc' try: . raise my_exc, 2*2 . except my_exc, val: . print 'My exception occurred, value:', val . My exception occurred, value: 4 以上例子是引发用户自定义的异常。,索引,python程序结构 python数据结构 模块 输入、输出 错误异常 类,域和命名空间,命名空间是名字到对象的映射。所有名字都是用字典实现的,不过这个无需深究(除非出于性能的考虑),而且今后可能会改变。命名空间的例子是:内置的名字集(函数,如 abs(), 及内置的异常名);模块中的全局名;函数调用中的局部名。在某种意义上,对象的一组属性名也组成了一个命名空间。对于命名空间,最重要的是要知道,在不同命名空间内的名字绝对没有任何联系;比如,两个模块可以同时定义名为“maximize”的函数而不会引起冲突但用户应在函数名前面加上模块名作为前缀。 域指的是Python程序中某个命名空间能被直接存取的范围。“直接存取”是指通过对名字的无条件引用来定位命名空间中的名字。 虽然域是静态定义的,却是动态使用的。在执行的每一时刻,有且只有三个嵌套的域同时作用(即,三个域可同时直接存取): 内层域,最先搜索;中间层域,之后搜索,包含有当前模块的全局名;和外层域,最后搜索,是内置名字的命名空间。(相当于C语言的局部空间,文件空间,全局空间) 通常,局部域(按文本)引用当前函数的名字。在函数之外,局部域和全局域引用相同的命名空间:模块的命名空间。类定义还会在局部域中开辟另一个命名空间。,类定义,最简单的类定义如下: class ClassName: . . . 类定义和函数定义(defy语句)必须在他们起作用之前执行。 在实际运用中,类定义中的语句通常是函数定义,其它的语句也是允许出现的,有时候也很有用 当类定义(经过结尾)正常结束时,就会有一个类对象被创建。它基本上是类定义创建的命名空间的内容的包装 。,类对象,类对象支持两种操作:属性引用和实例化。 属性引用有着统一的语法:对象.属性。合法的属性名是所有在类建立时刻是类的命名空间中的名字。 class MyClass: “A simple example class“ i = 12345 def f(x): return 'hello world' 那么MyClass.i和MyClass.f是合法的属性名,它分别返回整数和函数对象。 类的实例化使用了函数的表示法,把类对象当作是没有参数的函数所返回的类的新实例,如(假设类如前例所定义): x = MyClass() #例子建立类的新实例,并它赋给局部变量x。,类的方法对象,类的方法定义的一般格式: class MyClass: def setvalue(self,val): self.val = val def getvalue(self): return self.val 其中,在方法的参数列表中,必须显示的指定实例对象本身,如上面的self,类似C+中的this指针,不过this是隐藏的。,类和结构,有时候需要类似于Pascal的record,或者是C的struct一样的数据类型,把一组命名过的数据捆在一块儿。空的类定义很简单: class Employee: pass john = Employee() # Create an empty employee record # Fill the fields of the record john.name = 'John Doe' john.dept = 'computer lab' john.salary = 1000 对某个抽象数据类型进行操作的代码通常可以被转换一个类的方法来模拟。例如,如果你想建立对文件对象进行格式化的函数,你可以定义一个类,让这个类带有两个方法read()和readline(),分别从缓冲区中读取字符串,并作为参数传递。 实例方法对象也有属性: m.im_self是一个对象,该对象的方法是一个实例,m.im_func是方法所对应的对象。,总结,详细内容请参阅:python指南。 下一步: 阅读库参考,至少要翻一下。库参考里有类型和模块的全面(虽然很扼要)资料,能节省不少你编写Python程序的时间。 Python的主站点是 http:/www.python.org,上面有代码、文档和与Python相关的网页的链接。 谢谢!,

    注意事项

    本文(python超级无敌培训.ppt)为本站会员(jun****875)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    网站客服QQ:2881952447     

    copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

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