其他分享
首页 > 其他分享> > __getattribute__

__getattribute__

作者:互联网


目录


一、__getattr__

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

    def __getattr__(self, item):
        print('执行的是我')
        # return self.__dict__[item]


f1 = Foo(10)
print(f1.x)
10
f1.xxxxxx
执行的是我

二、__getattribute__

103-getattribute-霸道.jpg?x-oss-process=style/watermark

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

    def __getattribute__(self, item):
        print('不管是否存在,我都会执行')


f1 = Foo(10)
f1.x
不管是否存在,我都会执行
f1.xxxxxx
不管是否存在,我都会执行

三、__getattr__与__getattribute__

#_*_coding:utf-8_*_
__author__ = 'Linhaifeng'


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

    def __getattr__(self, item):
        print('执行的是我')
        # return self.__dict__[item]
    def __getattribute__(self, item):
        print('不管是否存在,我都会执行')
        raise AttributeError('哈哈')


f1 = Foo(10)
f1.x
不管是否存在,我都会执行
执行的是我
f1.xxxxxx
不管是否存在,我都会执行
执行的是我

标签:__,f1,getattribute,self,getattr,def
来源: https://blog.51cto.com/u_13804357/2709202