python继承与类型检查
目录
- 继承的概念
- 继承的实现
继承的概念
- 继承(Inheritance)
- 复用父类的公开属性和方法
- 拓展出新的属性和方法
继承的实现
- 语法:class 类名(父类列表)
- 默认父类是 object
- Python 支持多继承
class Human:
#类属性
message = '这是Human类的属性'
#构造方法
def __init__(self,name,age):
#实例属性
self.name = name
self.age = age
#实例方法
def live(self): #在 live() 方法中,直接用 self 参数就能访问构造方法中定义的属性,因为用self定义的都是属于这个类的变量。
print("住在地球上")
class Student(Human):
#子类实例方法
def study(self):
print("正在学习")
#实例化子类对象
stu = Student("陈凌永",18)
#访问属性
#print(stu.message)
#print(stu.name,stu.age)
#访问实例方法
stu.live()
stu.study()
输出结果
这是Human类的属性
陈凌永 18
住在地球上
正在学习
类型检查
- isinstance(实例, 类名)–检查对象是否是某个类及其派生类的实例
- issubclass(类名1, 类名2)–检查类名 1 是否是类名 2 的子类
class Human:
pass
class Student(Human):
pass
class Teacher(Human):
pass
#检查实例VS类
stu = Student()
print(isinstance(stu,Human)) #isinstance(实例, 类名)--检查对象是否是某个类及其派生类的实例
#检查类VS类
print("Student:Human",issubclass(Student,Human)) #issubclass(类名1, 类名2)--检查类名 1 是否是类名 2 的子类
print("Student:Teacher",issubclass(Student,Teacher))
输出结果
True
True
False