![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python 面向对象编程
文章平均质量分 92
我喜欢就好
江南野栀子
人在红尘里,心在山水间。
展开
-
Python 面向对象编程 OOP 05--类、实例和其他对象的内建函数
1. issubclass() 布尔函数,判断一个类是另外一个类的子类或者子孙类2. isinstance() 布尔函数,判断一个对象是某个类的实例3. hasattr()、getattr()、setattr()、delattr() 自省/反射函数,动态执行3.1 对类进行相关操作3.2 对实例进行相关操作3.2.1不受限制的使用3.2.2 使用 __slots__ 进行限制4. dir() 函数4.1 作用在实例上4.2作用在类上4.3作用在模块上4.原创 2022-01-05 15:31:47 · 490 阅读 · 0 评论 -
Python 面向对象编程 OOP--03--类的组合和派生
在新代码中利用既有的类,有两种方法。 第一种是组合,就是让不同的类混合并且假如其他类中,来增加功能和代码重用性。这种适用于由多个小类组成一个大类的情况,并且不需要对小类进行太多修改。第二种是通过派生,在需要设计相同的类,但是功能不太一样的时候,使用派生会更合理些。原创 2022-01-05 13:38:55 · 640 阅读 · 0 评论 -
Python 面向对象编程 OOP--04--多重继承和方法解释顺序 MRO
Python 允许子类继承多个父类,这种特性就是多重继承。多重继承既扩大了子类的能力,又增加了困难,即如何让子类在不同的父类之间如何继承同名的属性和方法,总有个先后顺序,这就是方法解释顺序 MRO。在早期 Python,例如 Python 2.2 之前,MRO 算法非常简单:深度优先,从左而由搜索。目前针对经典类,新的查询方法是广度优先,而不是深度优先。而新式类都是继承自 object,会出现菱形类继承机构,需要新建 MRO。原创 2022-01-05 14:30:17 · 319 阅读 · 0 评论 -
Python 面向对象编程 OOP--06--super() 是一个描述器类
前面的Python 面向对象编程 OOP 5 小节中,可能都提到过类、子类、继承和派生等概念,几乎处处可以见到 super() 的身影,很多时候它被当作函数在用,但其实它是一个描述器类!super() 有 4 种典型用法:1)super() 相当于 super(__class__, <first argument>)2)super(type) : 创建一个未绑定 super 对象3)super(type, obj)4)super(type, type2) -> bound super object原创 2022-01-10 15:34:52 · 522 阅读 · 0 评论 -
Python 面向对象编程 OOP--02--类中的单下划线和双下划线 5 种情况
类中的单下划线和双下划线 5 种情况原创 2022-01-05 11:18:47 · 331 阅读 · 0 评论 -
Python 面向对象编程 OOP--01--类和实例的基本概念
面向对象编程 OOP 实现了数据和动作的融合,将现实世界的问题抽象出来。类提高了对象的定义,而实例就是这些定义的实现。OOP 在很多编程语言中都存在,Java 就是非常典型的。在 Python 中也是非常重要的部分。本章先介绍一下 Python 中 OOP 的一些常见术语和特性。1. 常见术语1.1 抽象和实现 抽象是指对现实世界问题和实体的本质表现、行为和特征建立模型,建立相关的集合,可以用于描述程序结构,并且实现这种模型,包括了对数据的抽象,还包括了这些数据...原创 2022-01-05 10:09:50 · 804 阅读 · 0 评论