少说话多写代码之Python学习043——类05(检查继承关系)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yysyangyangyangshan/article/details/84171124

Python中还可以检查类的继承的关系。
比如,如下两个类,PrimaryBaLinghouStudent继承了BaLinghouStudent。

class BaLinghouStudent:
    name='学生'
    school='学校'
    def init(self,n,s):
        self.name=n
        self.school=s
    def goSchool(self):
        print('%s 去 %s 上学啦!' %(self.name,self.school) )
    def doWork(self):
        print('%s写生字' %self.name)

class PrimaryBaLinghouStudent(BaLinghouStudent):
    def doWork(self):
        print('%s造句' %self.name)

issubclass函数可以查看一个类是否是另一个类的子类,    

print(issubclass(PrimaryBaLinghouStudent,BaLinghouStudent))
print(issubclass(BaLinghouStudent,PrimaryBaLinghouStudent))

输出

True
False

__bases__函数可以查看一个类的父类,

print(BaLinghouStudent.__bases__)
print(PrimaryBaLinghouStudent.__bases__)

输出

(<class 'object'>,)
(<class '__main__.BaLinghouStudent'>,)

isinstance是针对实例的,查看这个实例是否是一个类的对象。

baling = BaLinghouStudent()
priBaling = PrimaryBaLinghouStudent()
print(isinstance(baling,BaLinghouStudent))
print(isinstance(priBaling,BaLinghouStudent))
print(isinstance(baling,PrimaryBaLinghouStudent))

输出

True
True
False

工程文件下载:https://download.csdn.net/download/yysyangyangyangshan/10790181

猜你喜欢

转载自blog.csdn.net/yysyangyangyangshan/article/details/84171124