[英]Python - can I use a decorator for this?
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
來定義另一個僅接受其參數並執行其他操作的函數嗎?
是的,您可以使用以下裝飾器:
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.