python的继承与类型检查

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