大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

python继承,看这篇就够了-创新互联

前言

说到面向对象,大家都不陌生。在python中,一切皆对象,我们使用类来表示具有相同属性和方法的对象的集合。而继承则是一种创建新类的方式,这个新类可以使用被继承类的属性。今天就来说说python中的继承。

创新互联建站服务紧随时代发展步伐,进行技术革新和技术进步,经过十载的发展和积累,已经汇集了一批资深网站策划师、设计师、专业的网站实施团队以及高素质售后服务人员,并且完全形成了一套成熟的业务流程,能够完全依照客户要求对网站进行网站设计制作、网站设计、建设、维护、更新和改版,实现客户网站对外宣传展示的首要目的,并为客户企业品牌互联网化提供全面的解决方案。继承的概念

继承用于类的创建上,新创建的叫子类,而被继承的叫做父类。子类可以使用父类属性,继承是描述类与类之间的关系。

为什么要用继承呢?因为继承可以减少代码的冗余以及提高代码的重用性。我们在工作中,用到继承的地方很多。

继承的种类

python里继承总共有单继承、多继承和多层继承。

单继承

单继承指的是子类只继承一个父类。示例:

class A():
    def __init__(self):
        self.a = 'a'

    def test_a(self):
        print("aaaa")
    

class B(A):
    def __init__(self):
        self.b = 'b'

    def test_b(self):
        self.test_a()
        print("bbbb")


obj = B()
obj.test_b()

复制代码

例子中,B类只继承A类的方法。在B类中用self.test_a()即可调用A类的test_a()方法。

多继承

多继承指的是子类继承了多个父类。来个示例:

class A():
    def __init__(self):
        self.a = 'a'

    def test_a(self):
        print("aaaa")
    

class B():
    def __init__(self):
        self.b = 'b'

    def test_b(self):
        print("bbbb")


class C(A, B):
    def __init__(self):
        self.c = 'c'

    def test_c(self):
        self.test_a()
        self.test_b()
复制代码

例子中,C类就分别继承了A类和B类的方法。 多层继承就是指子类继承的父类也有继承别的类,这里就不举例了。

子类重写父类方法

在某些场景下,子类继承了父类的属性和方法,但子类有同名的方法,这时候就需要重写子类的方法了。

class A():
    def __init__(self):
        self.a = 'a'

    def test(self):
        print("aaaa")
    

class B(A):
    def __init__(self):
        self.b = 'b'
        super().__init__()

    def test(self):
        print("bbbb")
复制代码

例子中B类继承A类的属性和test()方法,但B也有test方法,那么只需要在B类中重新定义个test()方法即可。

继承的注意事项及常见运用 注意事项
  • 子类如果重写了__init__方法,子类就不会自动继承父类__init__中的属性。如果要继承父类的属性,需要用到super方法,我们在B类的__init__方法中加上:
super(子类,self).__init__(参数0,参数1...)
父类名称.__init__(self,参数0,参数1...)
复制代码

若继承父类的所有属性就直接用super().__init__()

  • 在调用基类方法时,需加上基类的类名前缀,并带上self参数变量。但在类中调用普通函数不需要带上self函数。
常见运用

继承在python中运用非常广,比如各种模块源码就使用到了继承,我们写代码时如配置代码、log日志打印都用到了继承。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享标题:python继承,看这篇就够了-创新互联
本文URL:http://dzwzjz.com/article/djphii.html
在线咨询
服务热线
服务热线:028-86922220
TOP