Python20-Day07

Posted mr.wang1101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python20-Day07相关的知识,希望对你有一定的参考价值。

面向对象之继承与派生

什么是继承?

  继承是一种创建新类的方式,新建的类可以继承一个或者多个父类,父类又称为基类或者超类,新建的类称为派生类或者子类

  子类会‘遗传’父类的特性,从而解决代码重用问题

python中分为单继承和多继承

  

class ParentClass1: #定义父类
    pass

class ParentClass2: #定义父类
    pass

class SubClass1(ParentClass1): #单继承,父类是ParentClass1,子类是SubClass
    pass

class SubClass2(ParentClass1,ParentClass2): #python支持多继承,用逗号分隔开多个继承的类
    pass

 

查看继承

#print(SubClass1.__bases__)
(<class __main__.ParentClass1>,)


#print(SubClass2.__bases__)
(<class __main__.ParentClass1>, <class __main__.ParentClass2>)

 

经典类与新式类

1、只有python2中才分为经典类和新式类,python3中都是新式类

2、在python2中没有标明继承object类的类,以及该类的子类,都称为经典类

3、在python2中标明继承object类的类,以及该类的子类,称为新式类

4、python3中,无论是否继承object类,默认都继承object类,即python3中都为新式类

 

继承与抽象

继承描述的是子类与父类之间的关系,是什么是什么的关系,要找出这种关系,必须先抽象再继承

 

属性查找

class Foo:
    def f1(self):
        print(Foo.f1)

    def f2(self):
        print(Foo.f2)
        self.f1()

class Bar(Foo):
    def f1(self):
        print(Foo.f1)


b=Bar()
b.f2()

#得到的结果为:

 Foo.f2
 Foo.f1




 








以上是关于Python20-Day07的主要内容,如果未能解决你的问题,请参考以下文章

Python20 - Day06

常用python日期日志获取内容循环的代码片段

python 有用的Python代码片段

Python 向 Postman 请求代码片段

python [代码片段]一些有趣的代码#sort

使用 Python 代码片段编写 LaTeX 文档