
面向对象
python 面向对象
LCY133
这个作者很懒,什么都没留下…
展开
-
python 面向对象 继承之 supper 函数
supper 最基本的使用方法:重写父类的构造方法 再调用父类的构造方法能够调用父类的构造方法,再调用父类的构造方法class A(object): def __init__(self): print('A')class B(A): def __init__(self): super().__init__() #super() 函数,不能不加括号! print('----B----')b = B()基本应用方式原创 2020-07-14 00:37:06 · 809 阅读 · 0 评论 -
多继承 查看继承顺序的‘__mro__’魔法方法
class D(object): passclass B(D): passclass C(D): passclass A(B,C): passprint(A.__mro__)可以通过__mro__魔法方法查看多继承的顺序原创 2020-07-04 15:17:44 · 232 阅读 · 0 评论 -
python type和 isinstance is and ==
type:查看一个对象的类型isinstance:查看是不是某个类的实例isinstance()#考虑继承关系,我附庸的附庸也是我的附庸type()#不考虑继承关系的,我附庸的附庸不是我的附庸直接上代码:class Father(object): passclass Son(Father): passls = Son()print(isinstance(ls,Son))print(isinstance(ls,Father))#考虑到继承关系,ls也是Fathe.原创 2020-07-04 12:43:11 · 217 阅读 · 0 评论 -
python 实现 抽象基类 abc模块
抽象基类(abc模块)抽象基类介绍抽象基类(abstract base class,ABC):抽象基类就是类里定义了纯虚成员函数的类。纯虚函数只提供了接口,并没有具体实现。抽象基类不能被实例化(不能创建对象),通常是作为基类供子类继承,子类中重写虚函数,实现具体的接口。抽象基类就是定义各种方法而不做具体实现的类,任何继承自抽象基类的类必须实现这些方法,否则无法实例化。起名字时不要把模块名起为abc.py,因为abc基类的原因,那时候就会冲突应用场景:1.我们去检查某个类中是否有某种方法2.我们原创 2020-07-04 11:41:02 · 565 阅读 · 0 评论 -
多态和鸭子类型
鸭子类型:多态的概念是应用于Java和C#这一类强类型语言中,在使用一个变量时需要指定这个变量的类型;而Python崇尚"鸭子类型"动态语言调用实例方法时不检查类型,只要方法存在,参数正确,就可以调用。这就是动态语言的“鸭子类型”,它并不要求严格的继承体系,一个对象只要“看起来像鸭子,走起路来像鸭子”,那它就可以被看做是鸭子。我觉得可迭代对象这个变量的出现就非常重要比如extend这个方法,只要传入的是可迭代对象就可以使用这个方法a = [1,2]b = [3,4]c = (5,6)d =原创 2020-07-04 09:46:27 · 248 阅读 · 0 评论