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

下载本文档

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

文档简介

Python教学培训讲义,2011年06月吴昊远,目录,4、Python中的面向对象,3、Python中的类和函数,1、Python入门及常用语法分析(上),2、Python入门及常用语法分析(下),5、用Python实现简单的聊天功能,6、用Eclipse调试python代码(选),Python的历史.问baiduorgooglePython的IDE搭建服务端(编译,解释器)开发工具eclipse,ironPython,vs2008+为什么要学PythonPython相对于其他语言的优缺点Python的应用领域anywhere,Python入门及常用语法分析,所有语言的入门程序-HelloWorld!HelloWorld的来历BrianKernighan而双下划线开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。,Python入门及常用语法分析,面向对象编程classFoo:def_init_(self,a,b):self.a=aself.b=bdefshow_a(self):printself.adefshow_b(self):printself.b_init_函数:每次生成类的时候都会执行的,self指向类对象自身。记住,类函数(或者叫做方法)它的第一个参数“self”不要忘记写了foo_obj=Foo(ImA,ImB)foo_obj.show_a()foo_obj.b=Helloworld!foo_obj.show_b(),Python入门及常用语法分析,Exception异常捕获结构:Try:ExceptExceptionname:.Except:.Else:.Finally:.自定义异常:classMyError(Exception):passraise关键字可以抛出自定义的异常例:raiseMyErrorPs:一定注意先后顺序,要先定义异常类后才可以使用,而不能上来就用。,Python入门及常用语法分析,Python的数据类型都有哪些?Python的控制语句有哪几种?Python中的异常如何捕获在循环语句中,continue,和break分别起什么作用?Python中的类和函数如何定义,如何调用?Python类中如何控制访问权限X,y=a,bprintx,yx=1y=2x,y=y,(x+y)printx,y,基础知识复习,_new_方法每一个new-styleclass都有一个名为_new_的静态方法.当你调用C(args,kwds)创建一个C实例时,python内部调用的是C._new_(C,*args,*kwds)._new_方法的返回值x就是该类的实例.在确认x是C的实例以后,python调用C._init_(x,args,*kwds)来初始化这个实例.也就是说,对新类C来讲,语句x=C(23)等同于x=C._new_(C,23)ifisinstance(x,C):C._init_(x,23)_new方法拥有函数工厂的绝大部分弹性.根据实际需求,我们可以让new_返回一个已有的实例或者创建一个新的实例.下面举一个通过重载_new_方法实现独身对象的设计模式的例子:classSingleton(object):_singletons=def_new_(cls,*args,*kwds):ifnotcls._singletons.has_key(cls):#若还没有任何实例cls.singletonscls=object.new_(cls)#生成一个实例returncls._singletonscls#返回这个实例Singleton的所有子类(当然是没有重载_new方法的子类)都只可能有一个实例.如果该类的子类定义了一个init方法,那么它必须保证它的init_方法能够安全的对同一实例进行多次调用.,静态方法staticmethod#静态方法修饰符,表示下面的方法是一个静态方法defastatic():printastaticmethodanInstance=AClass()AClass.astatic()#prints:astaticmethodanInstance.astatic()#prints:astaticmethod类方法classmethod#类方法修饰符defaclassmet(cls):printaclassmethodfor,cls._name_classADeriv(ABase):passbInstance=ABase()dInstance=ADeriv()ABase.aclassmet()#prints:aclassmethodforABasebInstance.aclassmet()#prints:aclassmethodforABaseADeriv.aclassmet()#prints:aclassmethodforADerivdInstance.aclassmet()#prints:aclassmethodforADeriv,前面提到的操作函数和语句块是传统的面向过程编程,而编写大型程序,通常采用面向对象编程。类和对象是面向对象编程的两个主要方面,类创建一个新类型,而对象是类的实例。Python没有什么值类型与引用类型之分,它把所有事物统统看作是类。面向对象实质上是一种思想,并不是一门技术。面向对象讲求一切皆对象面向对象的三大特性继承封装多态为什么要面向对象?灵活性,重用性。,Python中的面向对象,继承关系可以被传递,如果c1是c2的子类,c2是c3的子类,那么c1也是c3的子类。如果a继承b,那么a具有b的一切属性和方法。Python支持多继承classA:def_init_(self):passclassB:def_init_(self):passclassC(A,B):def_init_(self):passsex=defSay(self):+self.sex+self.ageSuper关键字,继承,Python中的多态并没有完全实现,Python中只是利用多元化来实现部分多态的特性classPerson:def_init_(self,name):self.Name=nameName=nameSex=manAge=agedefSay(self,message):printself.Name+messageclassRole(Person):def_init_(self,name,roleName):Person._init_(self,name)self.RoleName=roleNameRoleName=roleName#lightordarkdefSay(self,message):printself.RoleName+self.Name+message,多态(overrideoverload),至此,python的最基础得语法基本上已经都讲完了,当然如果针对这些知识要是仔细斟酌的话,你还会发现很多的新东西。这就要看个人的爱好和决心了学习语言本就是一门枯燥的学问

温馨提示

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

评论

0/150

提交评论