Python基础入门讲义~~.ppt_第1页
Python基础入门讲义~~.ppt_第2页
Python基础入门讲义~~.ppt_第3页
Python基础入门讲义~~.ppt_第4页
Python基础入门讲义~~.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、Python教学培训讲义,2011年06月 吴昊远,目录,4、Python中的面向对象,3、Python中的类和函数,1、Python入门及常用语法分析(上),2、Python入门及常用语法分析(下),5、用Python实现简单的聊天功能,6、用Eclipse调试python代码(选),Python 的历史 .问 baidu or google Python的IDE搭建 服务端(编译,解释器) 开发工具eclipse,ironPython,vs2008+ 为什么要学Python Python相对于其他语言的优缺点 Python的应用领域 anywhere,Python入门及常用语法分析,所有语

2、言的入门程序-Hello World! Hello World 的来历 Brian Kernighan 而 双下划线 开始的是私有成员, 意思是只有类对象自己能访问, 连子类对象也不能访问到这个数据。,Python入门及常用语法分析,面向对象编程 class Foo: def _init_(self, a, b): self.a = a self.b = b def show_a(self): print self.a def show_b(self): print self.b _init_ 函数:每次生成类的时候都会执行的, self 指向类对象自身。 记住, 类函数(或者叫做方法) 它的

3、第一个参数 “self” 不要忘记写了 foo_obj = Foo(Im A, Im B) foo_obj.show_a() foo_obj.b = Hello world! foo_obj.show_b(),Python入门及常用语法分析,Exception 异常捕获结构: Try: Except Exceptionname: . Except: . Else: . Finally: . 自定义异常: class MyError(Exception): pass raise 关键字 可以抛出自定义的异常 例: raise MyError Ps:一定注意先后顺序, 要先定义异常类后才可以使用,

4、 而不能上来就用。,Python入门及常用语法分析,Python的数据类型都有哪些? Python的控制语句有哪几种? Python中的异常如何捕获 在循环语句中,continue,和break分别起什么作用? Python中的类和函数如何定义,如何调用? Python类中如何控制访问权限 X,y=a,b print x,y x=1 y=2 x,y=y,(x+y) print x,y,基础知识复习,_new_方法 每一个 new-style class 都有一个名为_new_的静态方法. 当你调用 C(args,kwds)创建一个C实例时,python内部调用的是 C._new_(C,*arg

5、s,*kwds). _new_方法的返回值 x 就是该类的实例. 在确认 x 是C的实例以后, python调用C._init_(x,args,*kwds)来初始化这个实例. 也就是说,对新类C来讲,语句 x=C(23)等同于 x = C._new_(C, 23) if isinstance(x, C): C._init_(x, 23) _new方法拥有函数工厂的绝大部分弹性. 根据实际需求,我们可以让new_返回一个已有的实例或者创建一个新的实例. 下面举一个通过重载_new_方法实现独身对象的设计模式的例子: class Singleton(object): _singletons = d

6、ef _new_(cls, *args, *kwds): if not cls._singletons.has_key(cls): #若还没有任何实例 cls.singletonscls = object.new_(cls) #生成一个实例 return cls._singletonscls #返回这个实例 Singleton的所有子类(当然是没有重载_new方法的子类)都只可能有一个实例. 如果该类的子类定义了一个init方法,那么它必须保证它的init_方法能够安全的对同一实例进行多次调用.,静态方法 staticmethod #静态方法修饰符,表示下面的方法是一个静态方法 def ast

7、atic( ): print a static method anInstance = AClass( ) AClass.astatic( ) # prints: a static method anInstance.astatic( ) # prints: a static method 类方法 classmethod #类方法修饰符 def aclassmet(cls): print a class method for, cls._name_ class ADeriv(ABase): pass bInstance = ABase( ) dInstance = ADeriv( ) ABas

8、e.aclassmet( ) # prints: a class method for ABase bInstance.aclassmet( ) # prints: a class method for ABase ADeriv.aclassmet( ) # prints: a class method for ADeriv dInstance.aclassmet( ) # prints: a class method for ADeriv,前面提到的操作函数和语句块是传统的面向过程编程,而编写大型程序,通常采用面向对象编程。类和对象是面向对象编程的两个主要方面,类创建一个新类型,而对象是类的

9、实例。Python没有什么值类型与引用类型之分,它把所有事物统统看作是类。 面向对象实质上是一种思想,并不是一门技术。面向对象讲求一切皆对象 面向对象的三大特性 继承 封装 多态 为什么要面向对象? 灵活性, 重用性。,Python中的面向对象,继承关系可以被传递,如果c1是c2的子类,c2是c3的子类,那么c1也是c3的子类。 如果a继承b, 那么a具有b的一切属性和方法。 Python支持多继承 class A: def _init_(self): pass class B: def _init_(self): pass class C(A,B): def _init_(self): pa

10、ss sex= def Say(self): print + self.sex+self.age Super关键字,继承,Python 中的多态并没有完全实现,Python中只是利用多元化来实现部分多态的特性 class Person: def _init_(self,name): self.Name=name Name=name Sex=man Age=age def Say(self,message): print self.Name+message class Role(Person): def _init_(self,name,roleName): Person._init_(self,name) self.RoleName=roleName RoleName=roleName# light or dark def Say(self,message): print self.RoleName+self.Name+message,多态 (override overload),至此, python的最基础得语法基本上已经都讲完了, 当然如果针对这些知识要是仔细斟酌的话, 你还会发现很多的新东西。 这就要看个人的爱好和决心了 学习

温馨提示

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

评论

0/150

提交评论