7_25 os 复习55 上节 复习 24min 内置函数补充 getattribut

class Foo:
pass

class Bar(Foo):
pass

b1=Bar()
print(isinstance(b1,Bar))
print(isinstance(b1,Foo))
print(type(b1))是否子类




class Foo:
def __init__(self,x):
self.x=x

def __getattr__(self, item):
print('执行的是getattr')
# return self.__dict__[item]
# def __getattribute__(self, item):
# print('执行的是getattribute')
# raise AttributeError('抛出异常了')
# raise TabError('xxxxxx')
f1=Foo(10)
# f1.x
f1.xxxxxx #不存在的属性访问,触发__getattr__
无论存在不存在,触发
getattribute,不存在,抛出异常,然后getattr










posted @ 2018-07-25 07:06  一棵大树一棵小树一棵草  阅读(113)  评论(0)    收藏  举报