Ich habe die vorherigen Stack-Überlauf-Posts zu diesem Thema gesehen, aber ich kann immer noch nicht diese beiden Befehle verwenden, wenn ich versuche, meine Funktion auszuführen. Ich habe ein Demo-Beispiel für einen einfachen gleitenden Durchschnitt programmiert, den ich durch die Argumente, kwargs command, laufen lassen möchte.python * args und ** kwargs
import numpy as np
def moving_average(data,lookback=7,SMA=True): #MA function
if SMA==True:
weights=np.repeat(1.0,lookback)/lookback
smas=np.convolve(data,weights,'valid')
return smas
Die Ausführung dieser Funktion funktioniert wie erwartet.
data=np.random.randn(100) #randomly
moving_average(data,lookback=7,SMA=True) #this outputs the correct set of numbers
Allerdings die zweite Ich versuche, Args und Kwargs hinzuzufügen es zusammenbricht.
Was genau in der * Args ** Kwargs Logik bin ich falsch? Ich habe versucht, sowohl ein Tupel als auch ein Wörterbuch einzugeben, aber keiner von beiden scheint zu funktionieren.
Das ist ... nicht was für Args und Kwargs ist. Wenn Sie die Argumentnamen kennen und diese einfach weitergeben möchten, warum möchten Sie dann args/kwargs verwenden? –