Python基础第20天
面向对象进阶 一: isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo: pass f1=Foo() print(isinstance(f1,Foo)) 2. issubclass(sub, super)检查sub类是否是 super 类的派生类 class Foo: pass f1=Foo() print(isinstance(f1,Foo)) class Bar(Foo): pass b1=Bar() print(issubclass(Bar,Foo)) print(isinstance(b1,Foo)) print(type(b1)) #<class '__main__.Bar'> 二:getattribute class Foo: def __init__(self,x): self.x=x def __getattr__(self, item): print('执行的是getattr') def __getattribute__(self, item): print('执行的是getattribute') raise AttributeError('抛出异常了') f1=Foo(10) f1.xxxxx f1.x