5.4.3 用超类的构造函数 在使用构造函数对实例对象进行初始化时,可以在子类的构造函数中调用超类的构造函数。 supper用于在子类作用引用操作。 5.4.4 多重继承 多重继承指子类可以同时继承多个超类。 如果超类中存在同名的属性或方法,Python按照从左到右的顺序在超类中搜索方法。 5.5 运算符的重载 运算符重载是通过实现特定的方法是类的实例对象支持Python的各种内置操作。表5-1列出了部分运算符重载方法。 重载运算符就是在类中定义相应的方法,当使用实例对象执行相关运算时,则调用对应方法。 本节主要讲述: 加法运算重载 索引和分片重载 自定义迭代器对象 定制对象的字符串形式 5.5.1 加法运算符重载 加法运算通过实现__add__方法来完成重载,当两个实例对象执行加法运算时,自动调用__add__方法。 5.5.2 索引和分片重载 与索引和分片有关的重载方法包括: __getitem__ __setitem__ __delitem__ 1. __getitem__方法 在对实例对象执行索引、分片或for迭代时,调用__getitem__方法。 2. __setitem__方法 在通过赋值语句给索引或分片赋值时,调用__setitem__方法,实现对序列对象的修改。 3. __delitem__方法 __delitem__方法重载del运算,即删除索引或分片。 5.5.3 自定义迭代器对象 实现了__getitem__方法的实例对象可用于for循环迭代。 Python在执行迭代操作时,总是优先调用__iter__方法,若没有才调用__getitem__方法。 __iter__方法返回一个迭代器对象,然后Python可重复调用迭代器对象的__next__执行迭代操作,直到发生StopIteration异常。 Python的内置函数next()本质上时通过调用的对象的__next__方法来完成。 1.迭代器对象只能使用一次 默认情况下,自定义的迭代器对象只能使用一次,迭代完成后,必须创建新的迭代器对象才可开始新的迭代操作。 2.有多个迭代器的对象 map和zip函数生成的对象时单迭代对象;而range、set、list等其他的内置函数生成的对象,则支持多个迭代器。 单迭代器和多迭代器与实现__iter__方法的方式有关。 若在__iter__方法直接返回了self对象,即保持了迭代器对象状态。当迭代结束,再次返回迭代器对象时,得到的是已迭代结束的迭代器对象。 如果要得到新的迭代器,在__iter__方法中先恢复迭代器到初始状态即可。 5.5.4 定制对象的字符串形式 重载__repr_和__str__方法可定义对象转换为字符串的形式。在执行print()、str()、repr()以及交互模式下直接显示对象时,会调用__repr_或__str__方法。 1.只重载__str__方法 如果只重载了__str__方法,只有str()和print()函数可调用__str__方法进行转换。 2.只重载__repr__方法 重载__repr__方法,可以保证各种操作下都能将正确获得实例对象的自定义的字符串形式。 3.同时重载__str__和__repr__方法 如果同时重载了__str__和__repr__方法,则str()和print()函数调用__str__方法,交互模式下直接显示对象和repr()函数调用__repr__方法。 5.6 模块中的类 可以将模块中的类导入到当前模块使用。导入的类是模块对象的一个属性,就像模块中的函数一样,可以像调用模块函数一样来调用类对象。 本节主要讲述: 使用模块中的类 本章完 Python 3基础教程 出版社或系部名称 主讲:授课教师 姓名 第5章 面向对象编程 面向对象是现代高级程序设计语言的特点之一。在前面各章中,已多次使用到“对象”这个概念。本章将深入对象的本质,学习对象的实现——类。类为Python提供了面向对象编程功能。 作为初学者而言,面向对象编程并不是必须的。虽然在Python内部,对象是无处不在。但使用Python实现系统并不是必须使用面向对象编程。面向对象编程通常在开发大型系统时效率更高。 本章主要内容 对象的属性和方法 理解Python的面向对象 定义和使用类 1 2 3 类的基础 4 运算符重载 模块中的类 6 5 5.1 理解Python的面向对象 Python的面向对象技术支持类、对象实例、继承、重载、多态等面向对象特点,但与C++、Java等支持的面向对象又有所不同。 本节主要讲述: Python的类 Python中的对象 5.1.1 Python的类 类使用class语句来定义 在类中,用赋值语句创建变量

python教程ppt第五章_Python 3基础教程 第5章面向对象编程.ppt相关推荐

  1. Python笔记_第五篇_Python数据分析基础教程_文件的读写

    1. 读写文件(基本) savetxt.loadtxt i2 = np.eye(2) print(i2) np.savetxt(r"C:\Users\Thomas\Desktop\eye.t ...

  2. python输出读取的空格数目_Python 3基础教程: 输入和输出具体代码实例

    在前面文章中,我们其实已经接触了 Python 的输入输出的功能.本章节我们将具体介绍 Python 的输入输出. 输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数.( ...

  3. python统计数据分析基础教程_Python数据分析基础教程:NumPy学习指南(第2版)

    第1章 NumPy快速入门 让我们开始吧.首先,我们将介绍如何在不同的操作系统中安装NumPy和相关软件,并给出使用NumPy的简单示例代码.然后,我们将简单介绍IPython(一种交互式shell工 ...

  4. python在线投票系统讲解_Python开发基础-项目实训-在线投票系统ppt课件

    <Python开发基础-项目实训-在线投票系统ppt课件>由会员分享,可在线阅读,更多相关<Python开发基础-项目实训-在线投票系统ppt课件(27页珍藏版)>请在人人文库 ...

  5. python分类器鸢尾花怎么写_python机器学习基础教程-鸢尾花分类

    一: 环境准备: 1.导入的库: importnumpy as npimportmatplotlib.pyplot as pltimportpandas as pdimport mglearn 2.导 ...

  6. python基础教程运行程序_Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

  7. python爬虫requests库_python爬虫基础教程:requests库(二)代码实例

    get请求 简单使用 import requests ''' 想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载! ''' respons ...

  8. python入门图谱_Python入门基础教程图

    一张图带我们入门Python基础教程 啄木鸟社区上原始翻译后绘制的,最早这个图是出现在(链接已失效) "这个图太棒了,有编程基础的人一下子就了解 Python 的用法了.真正的 30 分钟上 ...

  9. python3基础教程 邓英_python 3 基础教程

    Python凭借着简单易学.功能强大,已经跃居编程语言热门榜的位置.如何选择一套适合自己的Python编程书籍,是每个Python爱好者面临的问题. 这套 Python编程三剑客 可以说是为Pytho ...

  10. 零基础学python这本书怎么样-看了这本基础教程的书籍你还担心你的python学不好吗?...

    提取码:chcj 值得花时间阅读的一本书 内容简介 · · · · · · 本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容,做到既能"瞻前" ...

最新文章

  1. Android应用开发基础篇(1)-----Button
  2. JAVA实验二——圆柱体
  3. pycharm提示your evalluation license has expired解决方法
  4. Wildfly 8.0通过其JAXRS 2.0实现提供了无缝的JSON支持。
  5. 没有计算机基础可以学python-Python的学习,都需要具备哪些计算机基础知识?
  6. debian linux ntfs,让Debian支持ntfs文件系统读写
  7. 2016腾讯实习生招聘_基础研究 面试心得
  8. [应用抓包] r0capture应用层通用抓包使用文档
  9. Android 如何令 Socket 不遵循IP路由配置规则?
  10. 靶机渗透练习57-digitalworld.local:JOY
  11. 论文导读|《Exploiting Rich Syntactic Information for Semantic Parsing with Graph-to-Sequence Model》
  12. 2021-05-11 MongoDB面试题 MongoDB中的命名空间是什么意思
  13. 实验三 基本表的定义、删除与修改
  14. idea插件Translate 谷歌无法翻译 TKK失败,请检查网络连接
  15. 计算任意年份的2月有多少天
  16. Windows装机必备常用软件
  17. 原生js和jQuery优缺点对比
  18. 51单片机 花样流水灯程序
  19. 016:Django商城短信和邮箱注册
  20. 大数据技术在scm系统中的应用

热门文章

  1. arcolinux使用i3wm窗口管理器
  2. android实现视频壁纸,ffmpeg/camera实现最近很火的视频壁纸,相机壁纸
  3. 各个省市mysql表附带行政id(一)
  4. 25.jsp之生成二维码
  5. vdbench安装及使用
  6. C语言自定义类型——位段
  7. JavaWeb知识框架
  8. 板绘如何厚涂?绘画时应该怎样厚涂?教你利用SAI结合数位板进行厚涂绘画!
  9. Win10镜像安装pytorch-gpu版
  10. C4D OCtane渲染器大师之路笔记(四):使用OC灯光