関数の実行時に設定する必要があるデフォルトの引数を持つ関数 (空のリスト、他の引数から派生した値、データベースから取得したデータなど) が必要であり、現在これに対処するために次のパターンを使用しています。
def foo(bar, baz=None):
baz = baz if baz else blar()
# Stuff
Whereは、実行中に変更される可能性blar()
のある適切なデフォルト値を示します。baz
しかし、そのbaz = baz if baz else ...
線はエレガントではないように私には思えます。デフォルトの関数引数の1回限りのバインディングを回避するより良い方法を他の誰かが持っていますか? pip によってインストール可能な小さなクロスプラットフォーム ライブラリは、受け入れ可能な代替品です。