1、子類(lèi)可以繼承父類(lèi),同樣,父類(lèi)也可以繼承自己的父類(lèi),一層一層地繼承。
class A:
def have(self):
print('I hava an apple')
class B(A):
pass
class C(B):
pass
2、如果想判斷一個(gè)類(lèi)別是否是另一個(gè)類(lèi)別的子類(lèi)別,可以使用內(nèi)置函數(shù)issubclass()。
>>> issubclass(C, A)
True
>>> issubclass(B, A)
True
>>> issubclass(C, B)
True
知識(shí)點(diǎn)擴(kuò)展:
繼承的定義
class Person(object): # 定義一個(gè)父類(lèi)
def talk(self): # 父類(lèi)中的方法
print("person is talking....")
class Chinese(Person): # 定義一個(gè)子類(lèi), 繼承Person類(lèi)
def walk(self): # 在子類(lèi)中定義其自身的方法
print('is walking...')
c = Chinese()
c.talk() # 調(diào)用繼承的Person類(lèi)的方法
c.walk() # 調(diào)用本身的方法
# 輸出
person is talking....
is walking...
構(gòu)造函數(shù)的繼承
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): # 先繼承,在重構(gòu)
Person.__init__(self, name, age) #繼承父類(lèi)的構(gòu)造方法,也可以寫(xiě)成:super(Chinese,self).__init__(name,age)
self.language = language # 定義類(lèi)的本身屬性
def walk(self):
print('is walking...')
class American(Person):
pass
c = Chinese('bigberg', 22, 'Chinese')
到此這篇關(guān)于python類(lèi)的繼承鏈實(shí)例分析的文章就介紹到這了,更多相關(guān)python類(lèi)的繼承鏈分析內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 淺談Python類(lèi)的單繼承相關(guān)知識(shí)
- 詳細(xì)總結(jié)Python類(lèi)的多繼承知識(shí)
- python子類(lèi)如何繼承父類(lèi)的實(shí)例變量
- Python類(lèi)成員繼承重寫(xiě)的實(shí)現(xiàn)
- Python類(lèi)繼承和多態(tài)原理解析
- Python 繼承,重寫(xiě),super()調(diào)用父類(lèi)方法操作示例
- python3中類(lèi)的繼承以及self和super的區(qū)別詳解
- Python3.5面向?qū)ο蟪绦蛟O(shè)計(jì)之類(lèi)的繼承和多態(tài)詳解
- Python面向?qū)ο蟪绦蛟O(shè)計(jì)類(lèi)的封裝與繼承用法示例
- Python基礎(chǔ)知識(shí)學(xué)習(xí)之類(lèi)的繼承