玄米リゾット

このブログの方向性も、クリスマスという時期も無視して空気読まずに申し訳ないけど、最近よく作ってる玄米リゾットのレシピです。
この作り方では、圧力鍋1つ(とまな板、包丁、菜箸、おたま)しか使わないので洗い物が楽だし、食材もどこのスーパーでも売ってるものだから集めるのも楽だし、安いし、食材の端(はした)が出ないので後でその管理などが必要なく楽だし、野菜を美味しく食べれるし、カレー並に味が安定してるから作るのも簡単で楽だし、アレンジも簡単だし、生の玄米を使うので途中で「お米炊き忘れてた!どうしよう」なんてこともないし、玄米の食物繊維でお通じも良くなるという素晴らしい料理です。

続きを読む

デコレータはクラスに対しても使える

当たり前の事かもしれないけど、デコレータってクラスに対しても使えるのではないかとふと思い試してみたところ、普通に出来た。
最近デコレータについてググる事が多いけど、クラスを返すデコレータの例までぐらいはたまに見るけど、クラスに適用するデコレータの例は見たことが無かったような気が。

続きを読む

ddコマンドのラッパー「pydd」をPythonで書いてみた

ddコマンドのラッパー「ddr」をRubyで書いてみた
perl – 車輪の再発明 – ddコマンドのラッパーddp
(なんか弾さんのは、ifパラメータにサイズが取得できないファイル、例えば”/dev/urandom”とかを渡すと進捗の表示がおかしくなる)

続きを読む

デコレータ関連で分かった事

昨日からデコレータについて色々テストコードを書きながら調べてて分かった事です。デコレータに限らない部分も多々。

続きを読む

手抜きをするデコレータ

n回の呼び出しのうち1回しか実際の処理を行わないデコレータを考えてみた。
(Zinniaを使って手書き文字を認識するプログラムを作ってたときに、ペンの描画(マウスのドラッグ)イベントが物凄い回数起きても座標データが増大するだけで精度はあまり上がらないんじゃないかと思い、程良く処理回数を減らすため考えた。)

続きを読む

リスト内包表記で直角三角形の辺の長さの組合せを得る
max = 100
print [(a, b, c) for a in xrange(1, max + 1) for b in xrange(a, max + 1) for c in xrange(b, max + 1) if (a**2 + b**2 == c**2)]
# [(3, 4, 5), (5, 12, 13), (6, 8, 10), (7, 24, 25), (8, 15, 17), (9, 12, 15), (9, 40, 41), (10, 24, 26), (11, 60, 61), (12, 16, 20), (12, 35, 37), (13, 84, 85), (14, 48, 50), (15, 20, 25), (15, 36, 39), (16, 30, 34), (16, 63, 65), (18, 24, 30), (18, 80, 82), (20, 21, 29), (20, 48, 52), (21, 28, 35), (21, 72, 75), (24, 32, 40), (24, 45, 51), (24, 70, 74), (25, 60, 65), (27, 36, 45), (28, 45, 53), (28, 96, 100), (30, 40, 50), (30, 72, 78), (32, 60, 68), (33, 44, 55), (33, 56, 65), (35, 84, 91), (36, 48, 60), (36, 77, 85), (39, 52, 65), (39, 80, 89), (40, 42, 58), (40, 75, 85), (42, 56, 70), (45, 60, 75), (48, 55, 73), (48, 64, 80), (51, 68, 85), (54, 72, 90), (57, 76, 95), (60, 63, 87), (60, 80, 100), (65, 72, 97)]

昔、関数型言語のConcurrent Cleanでやった覚えがあったのでPythonでやってみた。
最初、リスト内包表記をネストさせることばかり考えてたけど、並列に書ける(といっても並列に動くワケじゃないけどね)事を思い出したらあっさり。

続きを読む

generatorで無限に素数を生成する

いろんなところでやり尽くされてる感があるネタですが、とりあえず自分なりに普通に書いてみたらそこそこ速かった。

続きを読む

1行で辞書の値をインクリメントする

Pythonの組み込みdictでは存在しないキーで値を取り出そうとするとKeyErrorが発生するので、例えばキーで指定した値をインクリメントする処理なんかは、以下のようなお決まりのパターンで書くことが多いです。

続きを読む

PythonでTDD その4

前回、「テスト対象側のパッケージ自体をimportするにはどうしたらいいかという問題が残ります。」と書いたその解決方法。

続きを読む