У меня есть функция, которая выглядит следующим образом:Попутных ключевых слов рекурсивны
def bootstrap(instrument, parallel_process=True, **kw):
prices = instrument.prices(**kw)
Я хочу, чтобы иметь возможность пройти через именованные аргументы, так что внутренние биты знают, что делать.
Я буду называть все это что-то вроде:
bootstrap(my_instrument, parallel_process=True, key1=True, key2=45)
Я хотел бы последние части, чтобы пройти к ценам. Он пройдет через несколько слоев в моем коде.
Я делаю это правильно? Кажется, тогда невозможно установить аргументы ключевого слова по умолчанию.
Так что:
def prices(ccy_index=True, **kw):
print(ccy_index)
не будет работать, когда ccy_index=False
передается в **kw
- он все еще думает, что ccy_index=True
Эта стратегия является беспорядок, и я обеспокоен тем, что это хрупкое. То, что я хотел, - это набор глобальных опций, в которых все разные биты кода могут вывести из строя соответствующие биты или иным образом по умолчанию установить что-то в этой функции. Другими словами, как и аргументы ключевого слова, но определенные рекурсивно.
Я не думаю, что я после вашего «будет работать не» сценарий - не могли бы вы предоставить надлежащую SSCCE? –