python继承与类型检查
1、继承的概念
1)继承(Inheritance)
复用父类的公开属性和方法
拓展出新的属性和方法
2、继承的实现
1)语法:class 类名(父类列表)
2)默认父类是 object
3)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("正在学习")
# 实例化子类对象
stu = Student("哈利波特", 12)
# 访问类属性(继承)
print(stu.message)
# 访问实例属性(继承)
print(stu.name, stu.age)
# 访问实例方法(继承)
stu.live()
# 访问实例方法(扩展)
stu.study()
3、类型检查
1)isinstance(实例, 类名)
检查对象是否是某个类及其派生类的实例
2)issubclass(类名1, 类名2)
检查类名 1 是否是类名 2 的子类
# 人类
class Human:
pass
# 学生类
class Student(Human):
pass
# 老师类
class Teacher(Human):
pass
# 检查实例与类的关系
stu = Student()
print(isinstance(stu, Human)) # 将会打印 True
# 检查类与类的关系
print(issubclass(Student, Human)) # 将会打印 True
print(issubclass(Student, Teacher)) # 将会打印 False