单元5 面向对象的Python_第1页
单元5 面向对象的Python_第2页
单元5 面向对象的Python_第3页
单元5 面向对象的Python_第4页
单元5 面向对象的Python_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

单元5面向对象的PythonPython不仅支持面向过程的程序设计,它还是一种面向对象的编程语言。5.1定义和使用类类的定义和使用跟函数的定义和使用有很多相似的地方。5.1.1定义类使用关键字“class”直接定义class<类名>: <语句1> <语句2>

… <语句3>通过继承的形式进行定义class<类名>(父类名): <语句1> <语句2> … <语句3>5.1.2使用类要使用类需要将类具体化,生成一个对象类实例化一个对象使用类中包含的变量(属性)或函数(方法)类的实例化:类名加圆括号对象名=类名()5.2类的属性和方法每一个类都具有自己的属性和方法。属性和方法是面向对象程序设计所独有的概念。属性是类所封装的数据方法则是类对数据进行的操作5.2.1类的属性类的属性实际上是类内部的变量。私有属性私有属性的调用__xxself.__xx5.2.2类的方法类的方法实际上是类内部的函数。1.定义类的方法使用def关键字定义。必须包含参数“self”,且“self”必须为第一个参数5.2.3类的专有方法以两条下划线开始并且以两条下划线结束的方法,称之为类的专有方法。方法描述__init__(self,…)构造函数,生成对象时调用__del__(self)析构函数,释放对象时调用__new__(cls,*args,**kwd)实例的生成操作__str__(self)在使用print语句时被调用__setitem__设置属性的值__delattr__(s,name)删除name属性__cmp__(src,dst)比较两个对象src和dst__getattr__(s,name)获取属性的值__getitem__(self,key)获取序列的索引key对应的值,等价于seq[key]__len__(self)在调用内联函数len()时被调用__call__(self,*args)把实例对象作为函数调用1.__init__()类的构造函数,用于初始化类的内部状态。2.__new__()在新式类中新出现的方法,它作用在构造方法建造实例之前。决定是否要使用该__init__()方法可以实现设计模式中的单例模式只能实例化1个对象3.__getitem__()如果类中把某个属性定义为序列,可以使用__getitem__()输出序列属性中的各个元素。4.__str__()__str__()用于表示对象代表的含义,返回1个字符串。5.3类的继承一个新类可以通过继承来获得已有类的方法以及属性等。通过继承而来的类也可以自己定义新的方法和属性。5.3.1类的继承可以继承父类的公有属性和公有方法。判断是否继承借助issubclass()函数issubclass(class,classinfo)5.3.2多重继承是指创建的类同时拥有几个类的属性和方法。在类名后边的圆括号中可以包含多个父类名父类名之间以逗号隔开5.4类的重写为什么重写重写这些属性或方法父类中的属性或方法不一定满足类的需要在子类中重新定义一个与父类属性或方法同名的属性或方法5.5装饰器它可以快速地给不同的函数或类插入相同的功能。使用特殊的符号“@”来实现5.5.1装饰函数将“@装饰器名称”放在函数定义行之前即可。如:装饰器名称为my_time装饰函数@my_ti

温馨提示

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

评论

0/150

提交评论