首页技术文章正文

什么是单继承?Python中单继承的语法格式是怎样的?

更新时间:2021-05-27 来源:黑马程序员 浏览量:

传智教育-一样的教育,不一样的品质

“龙生龙,凤生凤,老鼠的儿子会打洞”,这句话将动物界中的继承关系表现的淋漓尽致。在Python中,类与类之间也具有继承关系,其中被继承的类称为父类或基类,继承的类称为子类或派生类。子类在继承父类时,会自动拥有父类中的方法和属性。

单继承指的是子类只继承一个父类,其语法格式如下:

class 子类(父类):

定义一个表示两栖动物的父类Amphibian和一个表示青蛙的子类Frog,示例代码如下:

class Amphibian:
    name = "两栖动物"    
    def features(self):
        print("幼年用鳃呼吸")
        print("成年用肺兼皮肤呼吸")class Frog(Amphibian):  # Frog类继承自Amphibian类
    def attr(self):
        print(f"青蛙是{self.name}")
        print("我会呱呱叫")

上述代码定义的Amphibian类中包含类属性name与实例方法features(),Frog类继承Amphibian类并定义了自己的方法attr()。

创建Frog类的对象frog,使用frog对象分别调用Amphibian类与Frog类中的方法,示例代码如下:

frog = Frog()                # 创建类的实例化对象
print(frog.name)             # 访问父类的属性
frog.features()              # 使用父类的方法
frog.attr()                  # 使用自身的方法

运行程序,结果如下所示:

两栖动物
幼年用鳃呼吸。
成年用肺兼皮肤呼吸。
青蛙是两栖动物。
我会呱呱叫。

从输出结果中可以看出,子类继承父类之后,就拥有从父类继承的属性和方法,它既可以调用自己的方法,又可以调用从父类继承的方法。

isinstance()函数与issubclass()函数

Python提供了两个和继承相关的函数,分别是isinstance()函数和issubclass()函数。

isinstance(o,t)函数用于检查对象的类型,它有2个参数,第1个参数是要判断类型的对象(o),第二个参数是类型(t),如果o是t类型的对象,则函数返回True,否则返回False。例如:

>>> isinstance(frog, Frog)
True

函数issubclass(cls, classinfo)用于检查类的继承关系,它也有2个参数,第一个参数是要判断的子类类型(cls),第二个参数是要判断的父类类型(classinfo),如果cls类型是classinfo类型的子类,则函数返回True,否则返回False。例如:

>>> issubclass(Frog, AmphAnimal)
True








猜你喜欢:

Python如何去除列表重复元素?

如何使用Python将sitemap.xml转为sitemap.txt?

Python爬虫支持的网页解析技术有哪些?

黑马程序员Python+大数据开发培训

在线咨询 我要报名