Python:在访问任何类属性时调用函数

时间:2014-09-11 20:14:00

标签: python

这有点难以解释,但这是我想要做的:我想在我的类上创建一个函数/属性,它将执行以下操作。无论我访问哪个字段,它都会将该字段的值与其余属性进行比较并返回一些内容。

例如:

class myClass(object):
    a = 1
    b = 2
    c = 3

    def myProp(sef, accessed_attribute):
        return someting like you accessed <name of attrib>  and it is the largest value of all all of the attribues" 

基本上它将值与其余属性进行比较,而不必为每个属性编写属性。

1 个答案:

答案 0 :(得分:1)

如果要在访问类属性时调用此函数(而不是实例属性),可以为类使用自定义元类,并覆盖此元类中的__getattribute__方法。