python超级无敌培训_第1页
python超级无敌培训_第2页
python超级无敌培训_第3页
python超级无敌培训_第4页
python超级无敌培训_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权所有,未经许可不得向外传播,违者必究python培训培训员工培训中心培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权所有,未经许可不得向外传播,违者必究课程目的课程目的总则:本课程主要讲解python的程序结构和python中各元素的用法。 掌握python的程序结构。 掌握python的数据类型的用法。 掌握python的输入、输出。 掌握python的函数定义。 掌握python的域名空间管理。 掌握python的模块的用法。 了解python的错误处理 了解使用python的类。课程讲解需要结合实际的环境运作。课程讲

2、解需要结合实际的环境运作。培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权所有,未经许可不得向外传播,违者必究索引索引 python程序结构程序结构 python数据结构数据结构 模块模块 输入、输出输入、输出 错误异常错误异常 类类培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权所有,未经许可不得向外传播,违者必究python程序结构程序结构python基本类型: int,长度为4字节。 long,长度不限制,可以无限大 string:字符串 float:浮点类型,兼容c语言的float和double数值运算(同c语言一样): 运算符: +, -, * ,/ 赋值:

3、=2+2,2/3,1.0/3,(4+5)/2width=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 th

4、at 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的语句块是以代码行前面的空格个数和制表符号的个数来确定的。空格

5、数相同或者制表符数相同的代码行作为一个整的语句块来确定的。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的第n个字符作为字

6、符串。x=“123456”,那么x1就为”2”。 n0时,从左数,n while 1 print hello world file , line 1 while 1 print hello world syntaxerror: invalid syntax 语法分析器会打印出错误所在行的内容,并用一个小 箭头 标出该行中最早出现错误的地方。错误就是(至少是)由箭头 前面 的标志符引起的。在上面的例子中,错误发生在关键字 print 的地方,在它的前面缺少了 (:) 。同时,语法分析器还会打印出文件名和行号,以便于在脚本中查找该错误。 培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权

7、所有,未经许可不得向外传播,违者必究异常异常 尽管语句或表达式的语法定义都正确,但是执行时仍然会产生错误,这样的错误就称之为 异常 。然而, 大多数的异常并不是由程序本身控制错误提示信息的输出的。 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 上面各例中,最后一行说明了发生的是哪一种类型的异常。异常

8、有不同的类型,并作为提示信息的一部分,上面的例子中的异常类型有:nameerror 和 typeerror 。打印的异常类型的名字是该类异常的内部名,对于内部定义的异常是这样的,而对于用户自定义的异常(也是很有用的异常)则不同,标准的异常类型名称是内部的标识符(不是保留字)。 培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权所有,未经许可不得向外传播,违者必究异常处理接管异常处理,类似c异常处理:try: . . #执行语句except (runtimeerror, typeerror): . . #异常时的处理语句except typeerror,detail: . print

9、detail #异常时的处理语句else: . .当异常发生时,应该能传递某一个值,这个值能被 except 子句中的 参数 接收。这个参数的类型和出现的形式由异常类型决定。对于带有参数的异常类型,except 子句可以在异常名或异常名列表后指定一个变量,用来接收参数的值。类似上面的typeerror,detail应用。 培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权所有,未经许可不得向外传播,违者必究引发异常raise 语句强制产生某种异常发生,例如: raise nameerror, hithere traceback (innermost last): file “”, l

10、ine 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 以上例子是引发用户自定义的异常。培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权所有,未经许可不得向

11、外传播,违者必究索引 python程序结构程序结构 python数据结构数据结构 模块模块 输入、输出输入、输出 错误异常错误异常 类类培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权所有,未经许可不得向外传播,违者必究域和命名空间 命名空间是名字到对象的映射。所有名字都是用字典实现的,不过这个无需深究(除非出于性能的考虑),而且今后可能会改变。命名空间的例子是:内置的名字集(函数,如 abs(), 及内置的异常名);模块中的全局名;函数调用中的局部名。在某种意义上,对象的一组属性名也组成了一个命名空间。对于命名空间,最重要的是要知道,在不同命名空间内的名字绝对没有任何联系;比如,

12、两个模块可以同时定义名为“maximize”的函数而不会引起冲突但用户应在函数名前面加上模块名作为前缀。 域指的是python程序中某个命名空间能被直接存取的范围。“直接存取”是指通过对名字的无条件引用来定位命名空间中的名字。 虽然域是静态定义的,却是动态使用的。在执行的每一时刻,有且只有三个嵌套的域同时作用(即,三个域可同时直接存取): 内层域,最先搜索;中间层域,之后搜索,包含有当前模块的全局名;和外层域,最后搜索,是内置名字的命名空间。(相当于c语言的局部空间,文件空间,全局空间)通常,局部域(按文本)引用当前函数的名字。在函数之外,局部域和全局域引用相同的命名空间:模块的命名空间。类定

13、义还会在局部域中开辟另一个命名空间。 培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权所有,未经许可不得向外传播,违者必究类定义最简单的类定义如下: class classname: . . . 类定义和函数定义(defy语句)必须在他们起作用之前执行。在实际运用中,类定义中的语句通常是函数定义,其它的语句也是允许出现的,有时候也很有用 当类定义(经过结尾)正常结束时,就会有一个类对象被创建。它基本上是类定义创建的命名空间的内容的包装 。培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权所有,未经许可不得向外传播,违者必究类对象类对象支持两种操作:属性引用和实例化。 属性

14、引用有着统一的语法:对象.属性。合法的属性名是所有在类建立时刻是类的命名空间中的名字。class myclass: a simple example class i = 12345 def f(x): return hello world 那么myclass.i和myclass.f是合法的属性名,它分别返回整数和函数对象。类的实例化使用了函数的表示法,把类对象当作是没有参数的函数所返回的类的新实例,如(假设类如前例所定义): x = myclass() #例子建立类的新实例,并它赋给局部变量x。培训中心版权所有,未经许可不得向外传播,违者必究培训中心版权所有,未经许可不得向外传播,违者必究类的

15、方法对象类的方法定义的一般格式: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 doe john.dept = computer lab john.salary = 1000 对某个抽象数据类型进行操作的代码通常可以被转换一个类的方法来模拟。例如,如果你想建立对文件对象进行格式化的函数,你可以定义一个类,让这个类带有两个方法read()和readline(),分别从缓冲区中读取字符串,并作为参数传

温馨提示

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

评论

0/150

提交评论