在Python 3 class A(object):
attr = SomeDescriptor()
...
def somewhere(self):
# need to check is type of self.attr is SomeDescriptor()
desc = self.__class__.__dict__[attr_name
所以爲了擺脫一些樣板我選擇實施__getattr__委託一些方法調用。問題是我在屬性查找鏈中也有一個描述符,並且它們沒有像我期望的那樣進行交互。這裏的代碼: class C(object):
attr = Descriptor()
def __getattr__(self, item):
# just returns a method for all items
我想製作一個與ECMAScript 5「凍結」對象類似的功能,您無法在其上更改任何內容。 這樣做: class Fixed(object):
frzn = 'I AM AWESOME'
def holdset(_,val):
_.frzn = _.frzn
print "frozen is frozen not setting to ", v