awsの資格取っておけば良かった

フリーランスや自営業のSEで、客先と契約し出向して働く(SES)働き方があります。一般的には3ヶ月や1ヶ月毎に契約をします。長期案件であれば自動的に再契約されます。僕もその働き方をしている一人です。 契約が切れた 契約の…

Toolzの使い方 Functoolz編

今回はToolzの中からFunctoolzを紹介します。 サンプルコードは全て”from toolz.functoolz import *”の様なインポート文を省略しています。 identity(…

Toolzの使い方 Dicttoolz編

今回はToolzの中からDicttoolzを紹介します。Dicttoolzにあるメソッドはどれも使う場面が多そうだと思ったため、全て紹介します。 サンプルコードは全て”from toolz.dicttoolz…

Toolzの使い方 Itertoolz編

今回はToolzのAPIの中からItertoolzの関数をいくつか紹介します。 サンプルコードは”from toolz.itertoolz import *”の様に扱う関数をインポートしてある前提で書いてあります。 イテ…

カリー化とは?

今回は関数型プログラミングの中で頻繁に登場するカリー化というテクニックを紹介します。 カリー化はpartial関数のシンタックスシュガーであるためpartial関数について知っていれば難しくはありません。partialの…

Toolzとは?インストール方法

はじめに Toolzは現在の関数型言語の標準ライブラリから大きな影響を受けて作られました。標準ライブラリのitertoolsやfunctoolsを拡張するようなモジュールです。 実際、itertoolsやfunctool…

filter, reduce, partialの使い方

前回の記事でmap関数について説明しました。今回はmap関数以外の便利な高階関数を以下の3つ紹介します。 組み込み関数:filterfunctoolsモジュール:reduce, partial filter(predic…

高階関数とは?便利なmap関数 内包表記との違い

高階関数とは? 高階関数とは関数を引数として受け取ったり、関数を戻り値とするような関数のことです。 高階関数のメリットを事例を元に紹介します。 ①文字列のリストの全ての要素にupper関数を適用し、全て大文字にした文字列…

イテレータとジェネレータとは?

イテレータとはリストやタプルのようなシーケンスを扱う手法の一つです。 シーケンスを扱うときは、for文を使って先頭の要素から順番に処理をしていくことが多いです。先頭の要素を処理し終えた後は、2つ目の要素の処理をし、3つ目…