Python 测开27期 - WL - 学习笔记 - python 继承与类型检查

python 继承与类型检查

继承的概念 Inheritance

  • 复用父类的公开属性和方法
  • 拓展出新的属性和方法

继承的实现

  • 语法:class 类名(父类列表)
  • 默认父类是object
  • Python支持多继承
    image
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