python toolz 2 pipe,do

先端技術開発の三谷です。

前回、toolz の curry pipe を紹介しましたが、

python toolz 1

紹介の中で、デバッグ表示を行うのに、do(print) を(しれっと)使いましたが、この do によってデバッグ表示が可能となっています。 というのも、pipeは各ステップの評価結果が次のステップの引数となるのですが、printを挿入すると、受け取った引数の表示はされますが、評価がNoneになります。

このため、以降の処理で問題となります。

これを回避するため、do を用います。

このdoを用いた処理で、私がAWS関連でよく使っている処理としては、pipe処理の最後にboto3のAPI、 特に設定系を呼んでいます。

これによって、欲しい値の取得、加工、設定まで1つのpipe内で記述できます。 このdoの後ろにさらに追記もできます(が、行儀よくないと思いますので、あまりやりません)。

今回は、pipe中におけるdoの使い方を紹介させていたきました。