python中类的继承链如何理解?一文带你搞懂
Admin 2021-08-17 群英技术资讯 1538 次浏览
很多新手学习python时,对于类的继承链理解比较困难,对此这篇文章就给大家分享python中类的继承链的内容。小编觉得挺实用的,大家可以参考参考,接下来一起跟随小编看看吧。
1、子类可以继承父类,同样,父类也可以继承自己的父类,一层一层地继承。
class A:
def have(self):
print('I hava an apple')
class B(A):
pass
class C(B):
pass
2、如果想判断一个类别是否是另一个类别的子类别,可以使用内置函数issubclass()。
>>> issubclass(C, A) True >>> issubclass(B, A) True >>> issubclass(C, B) True
知识点扩展:
继承的定义
class Person(object): # 定义一个父类
def talk(self): # 父类中的方法
print("person is talking....")
class Chinese(Person): # 定义一个子类, 继承Person类
def walk(self): # 在子类中定义其自身的方法
print('is walking...')
c = Chinese()
c.talk() # 调用继承的Person类的方法
c.walk() # 调用本身的方法
# 输出
person is talking....
is walking...
构造函数的继承
class Person(object):
def __init__(self, name, age):
self.name = name
self.age = age
self.weight = 'weight'
def talk(self):
print("person is talking....")
class Chinese(Person):
def __init__(self, name, age, language): # 先继承,在重构
Person.__init__(self, name, age) #继承父类的构造方法,也可以写成:super(Chinese,self).__init__(name,age)
self.language = language # 定义类的本身属性
def walk(self):
print('is walking...')
class American(Person):
pass
c = Chinese('bigberg', 22, 'Chinese')
关于python中类的继承链的相关内容就介绍到这,上述实例具有一定的参考价值,感兴趣的朋友可以参考学习,希望能对大家理解python中类的继承链有帮助。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Python文件路径乱码的解决方法是怎么,代码怎么写
这篇文章主要介绍了Python3 中return和yield的区别,return和yield都用来返回值;在一次性地返回所有值场景中return和yield的作用是一样的,但是具体有什么区别呢,带着疑问一起进入下面文章学习详细内容吧
当我们处理图像的时候避免不了要对访问,或是读取某一个像素点的值,下面这篇文章主要给大家介绍了关于利用Python如何获取图像中像素点坐标的相关资料,需要的朋友可以参考下
这篇文章主要介绍了Python 中面向接口编程详情,Python 中的接口与大多数其它语言的处理方式不同,它们的设计复杂性也不同,关于Python 接口编程的介绍,需要的小伙伴可以参考下面文章内容
这篇文章主要介绍了python基于concurrent模块实现多线程,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008