Python:super和isinstance


# super:根据继承关系,向上找成员,直到找到就停止
# 应用场景:假设有一个类,已经实现了一些功能,想在这基础上扩展功能,就不用重写
class Grandpa(object):
    def message(self, num):
        print(num + 500)


class Father(Grandpa):
    def __init__(self):
        print('往上')


class Son(Father):
    def message(self, num):
        print(num + 100)
        super().message(num + 200)


obj = Son()
obj.message(33)
# 输出  往上  133  733

# type:获取某个对象的类型
print(type(obj) == Son)  # True

# isinstance:判断对象是否是某个子类或子类的实例
print(isinstance(obj, Son))  # True
print(isinstance(obj, Father))  # True
print(isinstance(obj, Grandpa))  # True