銀月の符号

Python 使い見習いの日記・雑記

自転車パンク

自転車の後輪がさっそくパンクしてしまった。今年はまだ 3 回しか乗ってないのに。おれが重たいのと、路面が滑り止め用砂利だらけなのと、まだ寒くてゴムの伸縮性が、の 3 つの悪条件が重なったせいだろうなぁ、たぶん。

降雪

しんしんと降る雪。せっかく自転車に乗れるようになったのに、また乗れなくなった。最近、寒い日と暖かい日の気温差が大きい。風邪引かないようにしないと。

雪融け

雪降ったり融けたりの繰り返しでなんだかあわただしい。とりあえず、自転車に乗れる程度には路面が出てきたところ。今日からはサイクリングとウォーキングを交互に行うぞー。痩せるぞー。

Python が好きな理由を思い出してみる

Python を好きになったきっかけってなんだったっけ? 好きに理由は要らないと思ってはいるものの、言葉にできないと人に伝えるときにすごく不便だと思ったのでまとめようとしてみる。インデント? ダックタイピング? itertools ? functools ? unittest ? 標…

素数列の生成2

あの話のエピローグには続きがあって「猿をぶら下げる代わりに紐を結ぶようにした、軽いから」というのがあるのだけれども、どういうことなのか昨晩やっとわかった。(なんのことかわかってなかったという自覚があったのだから、隠さずにそう書くべきだった…

好奇心

うまく話せない、自信ない、返答が遅い・でない、などなどの原因について考える機会ができたので。今日の結論は、「普段から深く考えてない」から。突然いい考えが思いつくはずもなく。普段考えていること、およびその組み合わせしかとっさには出ないわけで…

素数列の生成

Python で Project Euler(http://projecteuler.net/ )(日本語訳は http://odz.sakura.ne.jp/projecteuler/)をとき始めた。現在 3 問目。素因数、素数、エラトステネスの篩、と調べていたら、次のたとえ話にたどり着いた。 雲梯を進む怠惰な猿たち 雲梯を…

雪融け中

最低気温がプラス。2月の北海道でこれはめずらしい。

csv モジュールメモ

ひさしぶりに csv モジュールを使ったのだけれど、うろおぼえで十数分無駄にしたので、簡単にメモしてみる。 csv モジュールとは CSV のようなテキストからデータを読み出したり、書き出したりできる便利モジュール。CSV って簡単そうに見えるけど、 'a,b,c'…

「頭痛が痛い」、ほど極端なものでないにしろ、 この手のまちがった文章を書き言葉に誤って入れてしまうことが増えてきた。 …日々、意識することが重要ということか。

カウンタ変数? いやイテレータ

1週間以上ブログ更新しないのはけっこうあることだけど、1週間 Python コード書かなかったのはひさしぶり。ネタはないけれど、無理やり作って書いてみるか。昔の自分に今の自分が Python 教えるならば…といった設定にしてみる。 ジェネレータとか enumerate…

ファイル名に使えない、使わないほうがよい文字を置き換え

一月前ほどにつくったID3 タグを読むスクリプトを育てて、読むだけでなく、修正・作成もできるようにしていく過程で、ちょっと脱線して ID3 タグの曲名をもとにファイル名を修正するスクリプトができた(どちらもまだ未公開…手入れ中)。でも使えない文字関…

ファイルとファイルの排他的論理和を取って暗号化

『http://w3-info.net/post-419.html』を読んで。自分でもやってみたくなったので、やってみた。Python でファイルとある値、もしくはファイルとファイルの排他的論理和を求めて暗号化する手順について自分なりに考えてみる。 整数列 2 つから排他的論理和 …

『Google App Engine プログラミング入門』第2章「チュートリアル」の誤記をまとめてみた

『Google App Engineプログラミング入門』を通読した後、第2章「チュートリアル」のコードを実際に動かしてみようとしてみた。しかし動かない箇所が多数。 Python うろ覚えの人には発見が困難そうな誤りも。でも誤記が多いというだけで放り投げらてしまうの…

迷路問題(人材獲得作戦・4)を解いてみる

人材獲得作戦・4 試験問題ほか の問題を解いてみた。今日は 13 日、もうすでにいろんな人が解き終わっていて、反応鈍かった感は否めない。所要時間 40 分だった。最短経路に $ を書き込まなければならないので、ある地点へ「到達できたこと」に加えて「到達…

ID3v2 タグを自力で読んでみる

遅すぎる Python 書初め。もう 12 日だ。ID3 タグを扱うライブラリはいくつかあるけれども、それらを使わずに ID3v2 タグを読んでみた。パソコンさわりはじめた 10 年前の自分の感覚だと、 ID3 を読むのはえらい人が作ったツールをつかって行うものだ、とい…

PyGame 復習中

年末になったことだし(意味不明)、 PyGame の復習をするか。と、いうことで昨日からごそごそ作業中。とりあえず題材は 2D シューティングっぽい何か。弾避けゲームともいう。タイトル画面(っぽいの)とゲームオーバー画面(っぽいの)、直進する弾と自機…

年越し

大掃除終了、入浴終了で、今年の汚れをきっちり落とす。準備完了。いざ、 2010 年へ。

普段書かないゲーム関連

クリスマスだけれども(だからこそ?)ゲーム三昧。 ぷよぷよ7 だいへんしんルールも真面目にやり始めた。なるほど、ぷよ通とは違うゲームだ。多ツモのキャラの場合はなお。りんごなど多ツモのキャラは、でかぷよを使った単発や 2 ダブ攻撃が重要っぽい。そ…

Python レシピ更新、ファイルを16進ダンプする

「162:ファイルを16進ダンプする」を手直し。使うものが変わったので。 旧: 'Python'.encode('hex_codec') 新: binascii.hexlify('Python') hex_codec は内部で binascii.hexlify を用いている。そして hexlify 関数の使い方は簡単。ならば直接使ったほうが…

BeautifulSoup を使ったコード片のメモ

昔作ったはずなんだけど、コードをなくしたらしい。なので作り直した。はてな上にメモしておけば、今度こそなくさない?(いや、ちゃんとバックアップ取れよオレ) BeautifulSoup とは? HTML, XML パーサ。メモリにツリー状のデータを構築するタイプ。標準…

Python レシピネタ切れ

レシピネタ切れ中。「237:汚染モード(taintモード)を使う」とか「250:ブロックを委譲する」のような、明らかに困難なものの比率が高くなってきた。さて、どうしたものか。無理に増やすより、半年以上前のものの手直しでもするかな。見直すと怪しいコードが…

Python レシピ増加、コレクションのような性質を持つクラスを作る

doloop さんが 「126:コレクションのような性質を持つクラスを作る」を書いてくれました。ありがとうございます。特殊メソッド __getitem__ らだけでなく、 Python 3.0, 2.6 から導入が進んでいる ABC (抽象基底クラス)の知識も得られる、二度おいしいレシ…

Python レシピ追加、文字列の一部を特定の文字で埋める

「068:文字列の一部を特定の文字で埋める」を追加。Ruby レシピブック 第2版 には Password: PythonRecipe のようなテキストを Password: ************ に置き換える例が載っていたので、これに則ったコードを。 # coding: utf-8 import re def hide(patter…

Python レシピ追加、特定の文字コードで正規表現マッチを行う (鬼車のラッパー ponyguruma の紹介あり)

「029:特定の文字コードで正規表現マッチを行う」を追加。正規表現に限らず、テキストを扱うにはユニコード文字列を使うようにするのがベター、といった内容。でも、これで終わるのもなんだし、ユニコード文字列への変換を行わずに何とかする方法も提示して…

Python レシピ追加、変数と定数

「003:変数と定数」を追加。役に立たない文章の予感。言語仕様を知るにはこんなのより原典(http://docs.python.org/reference/executionmodel.html#naming-and-binding)とソースコードにあたるべきだから。書いた際に自分の復習になったのはたしかだけれども…

イテレータブルのある要素より後ろの要素を取り出す2

Python「インデクサとは違うのだよ、インデクサとは!」 - つまみ食う リベンジ。どうやら意図するところが「ある要素が複数あった場合、最後に現れたものの後ろ」のようで誤解していました。「最初に現れたものの後ろ」ではないのですね。これは、どうした…

イテレータブルのある要素より後ろの要素を取り出す (itertools.dropwhile)

Python「インデクサとは違うのだよ、インデクサとは!」 - つまみ食う を読んで。これは itertools モジュールの楽しさを伝える好機、と見たので。 itertools.dropwhile 「ある要素より後ろの要素を取り出す」は「ある要素以前を捨てる」と言い換えることが…

Python レシピ追加、いろいろなテキストフォーマットを解析

「076:いろいろなテキストフォーマットを解析」を追加。 PythonRecipe への書き込みは 5 ヶ月ぶり。内容は「日付と時刻」、「CSV, XML, YAML, HTML」、「URI (URL)」、「メール」、「Python のソースコード」の読み込み方法、もしくは方法が書いてあるところ…

暦に興味を持ったので、旧暦計算プログラム QREKI.AWK を Python に移植してみた

前回、前々回と祝日について触れた際、暦に興味を持ったので Wikipedia の暦法関連を読み漁っていた。天文の話だけでなく、歴史や文化の話も混じっていておもしろい。よくわかってなかった旧暦についても知ることができた。狭義の旧暦は今の日本の暦(グレゴ…