我有一种dict
不同的类型,我想根据实际参数的名称为其添加一个简单的 getter。
例如,对于三个存储参数,假设:
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
就可以派生调用- getSize 仅在对象中定义一次,并且通过操作对象函数列表从它派生相关函数。
这样的事情可能吗?