Python-3基础教程-第5章面向对象编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python-3基础教程-第5章面向对象编程全文共62页,当前为第31页。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第32页。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第33页。 5.4.3 用超类的构造函数 在使用构造函数对实例对象进行初始化时,可以在子类的构造函数中调用超类的构造函数。 supper用于在子类作用引用操作。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第34页。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第35页。 5.4.4 多重继承 多重继承指子类可以同时继承多个超类。 如果超类中存在同名的属性或方法,Python按照从左到右的顺序在超类中搜索方法。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第36页。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第37页。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第38页。 5.5 运算符的重载 运算符重载是通过实现特定的方法是类的实例对象支持Python的各种内置操作。表5-1列出了部分运算符重载方法。 重载运算符就是在类中定义相应的方法,当使用实例对象执行相关运算时,则调用对应方法。 本节主要讲述: 加法运算重载 索引和分片重载 自定义迭代器对象 定制对象的字符串形式 Python-3基础教程-第5章面向对象编程全文共62页,当前为第39页。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第40页。 5.5.1 加法运算符重载 加法运算通过实现__add__方法来完成重载,当两个实例对象执行加法运算时,自动调用__add__方法。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第41页。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第42页。 5.5.2 索引和分片重载 与索引和分片有关的重载方法包括: __getitem__ __setitem__ __delitem__ Python-3基础教程-第5章面向对象编程全文共62页,当前为第43页。 1. __getitem__方法 在对实例对象执行索引、分片或for迭代时,调用__getitem__方法。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第44页。 2. __setitem__方法 在通过赋值语句给索引或分片赋值时,调用__setitem__方法,实现对序列对象的修改。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第45页。 3. __delitem__方法 __delitem__方法重载del运算,即删除索引或分片。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第46页。 5.5.3 自定义迭代器对象 实现了__getitem__方法的实例对象可用于for循环迭代。 Python在执行迭代操作时,总是优先调用__iter__方法,若没有才调用__getitem__方法。 __iter__方法返回一个迭代器对象,然后Python可重复调用迭代器对象的__next__执行迭代操作,直到发生StopIteration异常。 Python的内置函数next()本质上时通过调用的对象的__next__方法来完成。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第47页。 1.迭代器对象只能使用一次 默认情况下,自定义的迭代器对象只能使用一次,迭代完成后,必须创建新的迭代器对象才可开始新的迭代操作。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第48页。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第49页。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第50页。 2.有多个迭代器的对象 map和zip函数生成的对象时单迭代对象;而range、set、list等其他的内置函数生成的对象,则支持多个迭代器。 单迭代器和多迭代器与实现__iter__方法的方式有关。 若在__iter__方法直接返回了self对象,即保持了迭代器对象状态。当迭代结束,再次返回迭代器对象时,得到的是已迭代结束的迭代器对象。 如果要得到新的迭代器,在__iter__方法中先恢复迭代器到初始状态即可。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第51页。 Python-3基础教程-第5章面向对象编程全文共62页,当前为第52页。 5.5.4 定制对象的字符串形式 重载__repr_和__str__方法可定义对象转换为字符串的形式。在执行print()、

文档评论(0)

孙二娘 + 关注
实名认证
文档贡献者

专注文档领域

1亿VIP精品文档

相关文档