Python Toolzの使い方 Functoolz編
今回はToolzの中からFunctoolzを紹介します。 サンプルコードは全て”from toolz.functoolz import *”の様なインポート文を省略しています。 identity(...
今回はToolzの中からFunctoolzを紹介します。 サンプルコードは全て”from toolz.functoolz import *”の様なインポート文を省略しています。 identity(...
今回はToolzの中からDicttoolzを紹介します。Dicttoolzにあるメソッドはどれも使う場面が多そうだと思ったため、全て紹介します。 サンプルコードは全て”from toolz.dicttoolz...
今回はToolzのAPIの中からItertoolzの関数をいくつか紹介します。 サンプルコードは”from toolz.itertoolz import *”の様に扱う関数をインポートしてある前提で書いてあります。 イテ...
今回は関数型プログラミングの中で頻繁に登場するカリー化というテクニックを紹介します。 カリー化はpartial関数のシンタックスシュガーであるためpartial関数について知っていれば難しくはありません。partialの...
はじめに Toolzは現在の関数型言語の標準ライブラリから大きな影響を受けて作られました。標準ライブラリのitertoolsやfunctoolsを拡張するようなモジュールです。 実際、itertoolsやfunctool...
前回の記事でmap関数について説明しました。今回はmap関数以外の便利な高階関数を以下の3つ紹介します。 組み込み関数:filterfunctoolsモジュール:reduce, partial filter(predic...
イテレータとはリストやタプルのようなシーケンスを扱う手法の一つです。 シーケンスを扱うときは、for文を使って先頭の要素から順番に処理をしていくことが多いです。先頭の要素を処理し終えた後は、2つ目の要素の処理をし、3つ目...
高階関数とは? 高階関数とは関数を引数として受け取ったり、関数を戻り値とするような関数のことです。 高階関数のメリットを事例を元に紹介します。 ①文字列のリストの全ての要素にupper関数を適用し、全て大文字にした文字列...
はじめに 私は関数型プログラミングがオブジェクト指向と比べられるほど可能性のあるコーディング手法だと知り勉強を始めました。しかし、Pythonメインに関数型プログラミングを説明する情報が少なく、LISPやJavaScri...
関数型プログラミングで登場する用語、”参照透過性”、”副作用”、”純粋関数”を紹介します。 DRY原則は関数型プログラミング特有の用語ではないですが、大切な概念なので合わせて紹介します。 参照透過性 参照透過性は計算機言...
pythonでは反復処理をするときfor文や内包表記がよく使われますが、再帰関数というテクニックを使って実装することもできます。今回は再帰処理や、再帰関数について説明します。 ちなみに、関数型プログラミング言語の代表であ...