python

ctypesでmp3infpのメモ

タイトル「まぶた」、アーティスト「arp」、というID3v1+v2タグが入ったmab.mp3というファイルをカレントディレクトリにおいて、Pythonインタラクティブを起動。 mp3infptest>python Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Int…

演算子オーバーライド

オーバーライドという単語が適切かどうかは微妙だけど、昨日言ってた__len__()の話。len(x)は、内部的には以下のような動作になっている。 def len(x): return x.__len__()だから、len(x)が返す値は、xの実装に依存する。 >>> class Foo: ... def __init__(s…

組み込み関数とオブジェクト指向

http://d.hatena.ne.jp/fkino/20061110 「Pythonはオブジェクト指向言語なのですか?」という質問をしてみました。この辺のやりとりはやっとむさんが http://qwik.jp/minpyshakyo/8.html に書いてくださっています。どうも、この組み込み関数というのが結構…

from future...

しょうもない話だけど、Pythonで思わずニヤっとしてしまうのがこれ。将来標準になる予定の機能を、現行ではオプションで有効にするために使う。 例えば、除算。整数同士の除算で、現在は商は小数点以下切り捨てになるが、将来は商が小数になる。小数点以下切…

PythonでBowling Score

http://blogs.itmedia.co.jp/hiranabe/2006/11/haskell_bowling_be41.html ところで、今日発見した、Haskellの例は、大分様相が違う。Haskellのパターンマッチングを利用して、かなり簡便にこの「スコア計算ルール」を、そのまま表現できている、と感じる。…

環境変数PYTHONPATH

意外に知られてない、というか、チュートリアルに載ってない?Pythonでいろいろスクリプトを作ると、それをどっかのディレクトリに全部放り込んでおいて、好きなときに使いたい。で、普通はローカルのツールを置きまくったディレクトリにPATHを通して、 >hel…

継続のすばらしさ

Haskellでやると書いておいて、Pythonでやっちゃう罠。 Pythonがサポートしている中途半端な継続ことgeneratorでsortすれば、遅延評価と同じく、「先頭n個だけ使う」という用途では後半のsortを実行しないで済む。 >>> l = [3,5,2,1,4,5,8,2] >>> def lazy_s…

LLRing 君ならどう書く2.0 ROUND2 修正版

トラックバック>http://ll.jus.or.jp/2006/blog/doukaku2/tbping 反省を反映したのと、build_g_sub()がmapにアクセスする意味が全くなかった設計ミスを修正。 >>> from array import * >>> class Collatz_g: def __init__(self, cache_limit): self.cache_l…

Pythonの整数型

上の問題、大きなh(n)を求めるときに32bitで足りなくなると言う問題があるが、Pythonは整数型がオーバーフローしたときに勝手に長整数型に変換してくれるから、問題ない。 >>> 2**4 16 >>> 2**64 18446744073709551616L # 数値の末尾のLは、長整数であること…

Pythonハッカー募集してる会社

http://omake.accense.com/wiki/Recruit 使う言語は、PythonとC++、その他もろもろ。 入社したい会社リストに追加。

LLRing 君ならどう書く2.0 ROUND2

http://ll.jus.or.jp/2006/blog/doukaku2Pythonプログラム(合っているかは未確認)を、IDLEの上のコードのまま貼り付けてみる。(注:後で書き直した者が下にあります >>> def build_g_sub(cur, g_map): if cur in g_map: return g_map[cur] if cur == 1: v…

Python関連メモ

いつの間にかdocutilsのバージョンが0.39から0.4に上がってた。全角文字を含むテーブルを作成するのがパッチ無しでできるようになったので、人に薦められるように・・・なった・・・かな・・・。 あと、IronPythonがいつの間にかMSから出るようになった。ど…

このブログに乗せているコードは引用を除き CC0 1.0 で提供します。