使用函数';Python中的名字
假设我有一个分配给变量的函数,使用函数';Python中的名字,python,Python,假设我有一个分配给变量的函数,funcfunc包含函数本身(即print func返回 我有一个简单的课程: class Item(): def __init__(self, data): # init code pass def func(self): pass def dunc(self): pass 比如说在\uuu init\uuu中,我在data中收到了func,可以作为data.func访问它。我可以通
func
func
包含函数本身(即print func
返回
我有一个简单的课程:
class Item():
def __init__(self, data):
# init code
pass
def func(self):
pass
def dunc(self):
pass
比如说在\uuu init\uuu
中,我在data
中收到了func
,可以作为data.func
访问它。我可以通过self.consume=data.func>将其分配给消费
但是如果我有一个数据函数字典呢
{"func" : <function func at 0x103f25410>, "dunk" : <function dunk at 0x103f25410>}
{“func”:“dunk”:
我可以做一些类似于self.key=data[key]
的事情吗?换句话说,用字典中的数据分配func
和dunc
,但不必显式地分配self.func
或self.dunc
每个作业?如果我正确理解了你的问题,你可以这样做:
def __init__(self, data):
for name, func in data.items():
setattr(self, name, func)
然后,您可以参考self.func
或self.dunc
(或data
中的任何内容)。不客气,很抱歉在setattr()
调用中出现混淆。我责备我得了流感。:)