我有不同類型的字典爲此我要根據實際參數的 如名稱添加一個簡單的getter,三個存儲參數讓說Python:從字符串動態生成方法?
self.storage = {'total':100,'used':88,'free':1}
我現在正在尋找一種方式(如果可能的話?)用一些元編程魔術來動態生成一個函數?
而不是
class spaceObj(object):
def getSize(what='total'):
return storage[what]
或硬編碼
@property
def getSizeTotal():
return storage['total']
但
class spaceObj(object):
# manipulting the object's index and magic
@property
def getSize:
return ???
使調用mySpaceObj.getSizeFree將dervied - 用只的getSize在對象定義一次,通過操作對象函數列表從它派生的相關函數?
是這樣的可能...?
如何'size'和'總'相關? –
我不確定要理解這個問題,但是您需要'getattr'或'__getitem__' – Paco
您可以這樣做 - 但是您希望從當前的方法中獲得什麼? –