python 继承与类型检查
继承的概念 Inheritance
继承的实现
- 语法:class 类名(父类列表)
- 默认父类是object
- Python支持多继承
class Human:
'''人类'''
message = '这是Human类的属性'
# 构造方法
def __init__(self,name,age):
# 实例属性
self.name = name
self.age = age
# 实例方法
def live(self):
print('住在地球上')
class Student(Human):
def study(self):
print('正在学习')
# 实例化对象
aa = Student('大话西游②',14)
# 访问属性
print(aa.message) # 结果是: 这是Human类的属性
print(aa.name,aa.age) # 结果是: 大话西游② 14
# 访问方法
aa.live() # 结果是:住在地球上
aa.study() # 结果是: 正在学习
类型检查
- isinstance(实例, 类名)
** 检查对象是否是某个类及其派生类的实例
- issubclass(类名1, 类名2)
** 检查类名1是否是类名2的子类
class Human:
pass
class Stu(Human):
pass
class Teach(Human):
pass
# 检查实例VS类
stu = Stu()
print(isinstance(stu,Human)) # 结果是: True
print(isinstance(stu,Teach)) # 结果是: False
# 检查类与类的关系
print(issubclass(Stu,Human)) # 结果是: True
print(issubclass(Stu,Teach)) # 结果是: False