python继承与类型检查
目录
- 继承的概念
- 继承的实现
继承的概念
- 继承(Inheritance)
- 复用父类的公开属性和方法
- 拓展出新的属性和方法
继承的实现
- 语法: class 类名(父类列表)
- 默认父类是 object
- Python 支持 多继承
```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()
输出结果为:
这是Human的类属性
哈利波特 12
住在地球上
正在学习
类型检查
- isinstance(实例, 类名):检查对象是否是某个类及其派生类的实例
- issubclass(类名1, 类名2):检查类名 1 是否是类名 2 的子类
# 人类
class Human:
pass
# 学生类
class Student(Human): # Student 类 继承 Human 类
pass
# 老师类
class Teacher(Human):
pass
# 检查实例与类的关系
stu = Student() # 创建1个实例
print(isinstance(stu, Human)) # stu 是 Human的1个实例,将会打印 True
# 检查类与类的关系
print(issubclass(Student, Human)) # student是Human子类,将会打印 True
print(issubclass(Student, Teacher)) # Student不是Teacher子类,不存在继承关系,将会打印 False
输出结果为:
True
True
False