[英]passing optional arguments as strings or arays
我有此功能,按預期工作
import numpy as np
def my_fun(X, Weights = None):
if Weights is None:
np.random.normal(0,1,1)
else:
Weights + 1
因此,我可以使用my_fun(my_X)或my_fun(my_X,Weights = my_weights)調用my_fun,其中my_weights是一個數組。
但是,我需要在my_fun中包括第三個選項,理想情況下,我想將參數作為字符串傳遞。 這樣的事情。
import numpy as np
def my_fun(X, Weights = None):
if Weights is None:
np.random.normal(0,1,1)
elif Weights == 'My_string':
np.random.beta(1,1,1)
else:
Weights + 1
如果我嘗試將my_fun稱為my_fun(my_X,Weights ='a'),則會收到以下錯誤: FutureWarning:逐元素比較失敗; 返回標量...
有什么想法如何重塑my_fun?
首先,我看不到X
的用途,您永遠不會在函數中使用它。 那為什么要發送呢?
同樣,您需要在函數中return
。 您要退貨什么? 還不清楚。 也許有些事情。
def my_fun(X, Weights = None):
if Weights is None:
X = np.random.normal(0,1,1)
elif Weights == 'My_string':
X = np.random.beta(1,1,1)
else:
Weights + 1
return Weights,X
print( my_fun([1,2,3],Weights = 'My_string') )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.