【发布时间】:2018-07-13 01:26:50
【问题描述】:
我正在尝试为类_class1_(可能是另一个类)创建一个包装,该包装将包含_class1_ 的几个实例的列表、一些附加变量、一些将使用此列表操作的函数以及包装了(几乎)_class1_ 的所有函数,实际上应该只调用存储在具有相同参数集的列表中的所有 _class1_ 对象的相应函数。
谁能提出一种更好的方法来做到这一点,然后手动实现所有这些函数(将遍历一个列表并从List_class1调用相应的函数)?
例子
class class2:
def __init__(self, N):
self._N = N
self.List_class1 = []
for i in range(0, self._N):
self.List_class1.append(class1())
def function1(self, params)
for i in range(0, self._N):
List_class1[i].function1(params)
def function2(self, params)
ret = []
for i in range(0, self._N):
ret.append(List_class1[i].function2(params))
return ret
因此,如果在 class1 中有许多我想像这样调整的函数,也许有人可以建议一种方法来做到这一点,而只需重写?
【问题讨论】:
-
这些函数将如何定义?您在寻找装饰器实现吗?
-
根据@abarnert 的建议更正了代码
标签: python python-3.x function class design-patterns