1

假设我有一个分配给变量的函数,func. func包含函数本身(即print func返回<function func at 0x103f25410>

我有一个简单的课程:

class Item():
    def __init__(self, data):
    # init code
        pass
    def func(self):
        pass
    def dunc(self):
        pass

假设在我__init__收到并可以访问它作为. 我可以将其分配给.funcdatadata.funcself.consume = data.func

但是,如果我有一个数据函数字典呢?

{"func" : <function func at 0x103f25410>, "dunk" : <function dunk at 0x103f25410>}

无论如何我可以做类似的事情self.key = data[key]吗?换句话说,分配funcdunc与字典中的数据,但不是明确地必须self.funcself.dunc每个分配?

4

1 回答 1

2

如果我正确理解您的问题,您可以执行以下操作:

def __init__(self, data):
    for name, func in data.items():
        setattr(self, name, func)

然后,您可以参考self.funcor self.dunc(或 中的任何其他内容data)。

于 2012-07-21T05:03:52.753 回答