《python超级无敌培训》由会员分享,可在线阅读,更多相关《python超级无敌培训(35页珍藏版)》请在金锄头文库上搜索。
1、培训中心版权所有,未经许可不得向外传播,违者必究python培训员工培训中心培训中心版权所有,未经许可不得向外传播,违者必究课程目的总则:本课程主要讲解python的程序结构和python中各元素的用法 。掌握python的程序结构。掌握python的数据类型的用法。掌握python的输入、输出。掌握python的函数定义。掌握python的域名空间管理。掌握python的模块的用法。了解python的错误处理了解使用python的类。课程讲解需要结合实际的环境运作。培训中心版权所有,未经许可不得向外传播,违者必究索引 python程序结构 python数据结构 模块 输入、输出 错误异常 类
2、培训中心版权所有,未经许可不得向外传播,违者必究python程序结构python基本类型:int,长度为4字节。long,长度不限制,可以无限大string:字符串float:浮点类型,兼容C语言的float和double数值运算(同C语言一样):运算符: +, -, * ,/赋值: =2+2,2/3,1.0/3,(4+5)/2width=2,width/3培训中心版权所有,未经许可不得向外传播,违者必究python程序结构Python 能够进行字符串运算。字符串有多种表示方法,可以使用单引 号 和双引号。“abcdef”, asdsakldjflisdf,sajdds中国sdf字符串可跨越多
3、行,用反斜杠续行。 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(
4、str),print len(hello)培训中心版权所有,未经许可不得向外传播,违者必究python程序结构python的语句块是以代码行前面的空格个数和制表符号的个数来确定 的。空格数相同或者制表符数相同的代码行作为一个整的语句块来确 定的。python控制流分为:顺序结构a=1;b=2c=“abcd” print a,b,c注意顺序结构个语句行的前面的空格或者制表符数量必须一致。培训中心版权所有,未经许可不得向外传播,违者必究python程序结构if 语句可以使用0 个或多个elif部分,并且else部分是可选的。关键字 elif是else if的简写,可避免书写时连续的缩进。 if .
5、 elif . elif .结构 相当于其他语言中的switch 或者case结构 。if x =0,表示取x的第n个字符作为字符串。x=“123456”,那么x1就为”2”。n0时,从左数,n while 1 print Hello world File “, line 1 while 1 print Hello world SyntaxError: invalid syntax 语法分析器会打印出错误所在行的内容,并用一个小 箭头 标出该行 中最早出现错误的地方。错误就是(至少是)由箭头 前面 的标志符引 起的。在上面的例子中,错误发生在关键字 print 的地方,在它的前 面缺少了 (“
6、:“) 。同时,语法分析器还会打印出文件名和行号,以便 于在脚本中查找该错误。 培训中心版权所有,未经许可不得向外传播,违者必究异常 尽管语句或表达式的语法定义都正确,但是执行时仍然会产生错误,这 样的错误就称之为 异常 。然而, 大多数的异常并不是由程序本身控制 错误提示信息的输出的。 4 + spam*3 Traceback (innermost last): File “, line 1 NameError: spam 2 + 2 Traceback (innermost last): File “, line 1 TypeError: illegal argument type for
7、 built-in operation 上面各例中,最后一行说明了发生的是哪一种类型的异常。异常有 不同的类型,并作为提示信息的一部分,上面的例子中的异常类型 有:NameError 和 TypeError 。打印的异常类型的名字是该类异常 的内部名,对于内部定义的异常是这样的,而对于用户自定义的异 常(也是很有用的异常)则不同,标准的异常类型名称是内部的标识符 (不是保留字)。 培训中心版权所有,未经许可不得向外传播,违者必究异常处理接管异常处理,类似C异常处理: try:#执行语句 except (RuntimeError, TypeError): #异常时的处理语句 except Typ
8、eError,detail: .print detail #异常时的处理语句 else:当异常发生时,应该能传递某一个值,这个值能被 except 子句中的 参 数 接收。这个参数的类型和出现的形式由异常类型决定。对于带有参 数的异常类型,except 子句可以在异常名或异常名列表后指定一个变 量,用来接收参数的值。类似上面的TypeError,detail应用。 培训中心版权所有,未经许可不得向外传播,违者必究引发异常raise 语句强制产生某种异常发生,例如: raise NameError, HiThere Traceback (innermost last): File “”, lin
9、e 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程序结构 pyt
10、hon数据结构 模块 输入、输出 错误异常 类培训中心版权所有,未经许可不得向外传播,违者必究域和命名空间 命名空间是名字到对象的映射。所有名字都是用字典实现的,不过这个无需 深究(除非出于性能的考虑),而且今后可能会改变。命名空间的例子是: 内置的名字集(函数,如 abs(), 及内置的异常名);模块中的全局名;函 数调用中的局部名。在某种意义上,对象的一组属性名也组成了一个命名空 间。对于命名空间,最重要的是要知道,在不同命名空间内的名字绝对没有 任何联系;比如,两个模块可以同时定义名为“maximize”的函数而不会引起 冲突但用户应在函数名前面加上模块名作为前缀。 域指的是Python
11、程序中某个命名空间能被直接存取的范围。“直接存取”是指 通过对名字的无条件引用来定位命名空间中的名字。 虽然域是静态定义的,却是动态使用的。在执行的每一时刻,有且只有三个 嵌套的域同时作用(即,三个域可同时直接存取): 内层域,最先搜索; 中间层域,之后搜索,包含有当前模块的全局名;和外层域,最后搜索,是 内置名字的命名空间。(相当于C语言的局部空间,文件空间,全局空间)通常,局部域(按文本)引用当前函数的名字。在函数之外,局部域和全局 域引用相同的命名空间:模块的命名空间。类定义还会在局部域中开辟另一 个命名空间。 培训中心版权所有,未经许可不得向外传播,违者必究类定义最简单的类定义如下:
12、class ClassName: . . . 类定义和函数定义(defy语句)必须在他们起作用之前执行。在实际运用中,类定义中的语句通常是函数定义,其它的语句也是 允许出现的,有时候也很有用 当类定义(经过结尾)正常结束时,就会有一个类对象被创建。它 基本上是类定义创建的命名空间的内容的包装 。培训中心版权所有,未经许可不得向外传播,违者必究类对象类对象支持两种操作:属性引用和实例化。 属性引用有着统一的语法:对象.属性。合法的属性名是所有在类建立时 刻是类的命名空间中的名字。class MyClass: “A simple example class“ i = 12345 def f(x):
13、 return hello world 那么MyClass.i和MyClass.f是合法的属性名,它分别返回整数和函数 对象。类的实例化使用了函数的表示法,把类对象当作是没有参数的函数所返 回的类的新实例,如(假设类如前例所定义): x = MyClass() #例子建立类的新实例,并它赋给局部变量x。培训中心版权所有,未经许可不得向外传播,违者必究类的方法对象类的方法定义的一般格式:class MyClass:def setvalue(self,val):self.val = valdef getvalue(self):return self.val 其中,在方法的参数列表中,必须显示的指定
14、实例对象本身,如上面的 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 =
15、 1000 对某个抽象数据类型进行操作的代码通常可以被转换一个类的方法来模 拟。例如,如果你想建立对文件对象进行格式化的函数,你可以定义一 个类,让这个类带有两个方法read()和readline(),分别从缓冲区中读取 字符串,并作为参数传递。 实例方法对象也有属性: m.im_self是一个 对象,该对象的方法是一个实例,m.im_func是方法所对应的对象。培训中心版权所有,未经许可不得向外传播,违者必究总结详细内容请参阅:python指南。下一步:阅读库参考,至少要翻一下。库参考里有类型和模块的全面(虽然很扼 要)资料,能节省不少你编写Python程序的时间。Python的主站点是 http:/www.python.org,上面有代码、文档和与 Python相关的网页的链接。谢谢!