在python中,我需要在我的類,我可能serialize的屬性列表,這是麻煩的列出這些在類的頂部。相反,我想用同樣的方式@property裝飾器使用,這樣即東西:蟒蛇裝飾添加功能列表上的對象
class MyClass(object):
# I dont like having to do this for example
#__list_of_props_to_serialise__ = ['my_prop',]
@property
@serialise
def my_prop(self):
return "this is my property"
def serialise(self):
return {f: self.getattr(f) for f in self.__list_of_props_to_serialise__}
其中__list_of_props_to_serialise__
被裝飾的對象類時建所以更新我不需要的評論在開始時出線。
問題是,當我編寫裝飾器時,我無法訪問類或對象,除非實際調用my_prop
函數,因此我無法添加它。我做錯了嗎?有沒有更好的方法來做到這一點,或者可以做到這一點嗎?
如果這樣做可以請一些請展示我可以使用的裝飾器功能,否則如果有更好的方法,請給出一個例子。
謝謝。
awsome的作品就像一個魅力! ...歡呼 – othane