def f(a,b):
lista = []
listb = []
lista.append(a**2)
listb.append(b**2)
return lista, listb
但是我还想返回一个由两个列表组成的数组。
类似:
def f2(a,b):
lista = []
listb = []
lista.append(a**2)
listb.append(b**2)
tr = np.array([np.array(lista), np.array(listb)]).T
return tr
两个函数共享相同的参数,但是我不想将列表和数组都作为返回值堆积。
我可以以某种方式使用装饰器no f
来定义另一个仅接受其参数并执行其他操作的函数吗?
答案 0 :(得分:0)
是的,您可以使用以下装饰器:
def tr(func):
def wrapper(a, b):
lista, listb = func(a, b)
return np.array([np.array(lista), np.array(listb)]).T
return wrapper
以便可以简单地定义f2
:
@tr
def f2(a, b):
return f(a, b)