Ich habe eine Funktion habe, die wie folgt aussieht:Passing Schlüsselwörter rekursiv
def bootstrap(instrument, parallel_process=True, **kw):
prices = instrument.prices(**kw)
ich Keyword-Argumente möchte in der Lage zu durchlaufen, so dass die inneren Bits wissen, was zu tun ist.
Ich werde wie das alles mit etwas nennen:
bootstrap(my_instrument, parallel_process=True, key1=True, key2=45)
ich die letzteren Teile möchten durch, um die Preise zu gehen. Es wird mehrere Ebenen in meinem Code durchlaufen.
Mache ich das richtig? Es scheint dann unmöglich zu sein, Standard-Schlüsselwortarg zu setzen.
So folgt aus:
def prices(ccy_index=True, **kw):
print(ccy_index)
funktioniert nicht, wenn ccy_index=False
in **kw
geben wird - es denkt noch ccy_index=True
Diese Strategie ist ein Chaos, und ich bin besorgt es spröde ist. Was ich wollte, war eine Reihe von globalen Optionen, bei denen alle verschiedenen Bits des Codes ihre relevanten Bits herausheben oder sonst wie in der Funktion konfiguriert werden konnten. Mit anderen Worten, wie Schlüsselwortargumente, aber rekursiv definiert.
Ich glaube nicht, ich bin nach Ihrem „wird nicht funktionieren“ Szenario - könnten Sie eine richtige SSCCE zur Verfügung stellen? –