Python

Cygwin で Python 3.2.3 をビルドする

Python 3.2.3 がリリースされたので Cygwin でビルドしてみました.前回は Python 3.2.2 だったのと,curses や sqlite3 といったモジュールのビルドはできていなかったので,今回はこれらのモジュールのビルドまでやってみました. Cygwin パッケージのイン…

IPython を設定してみた

IPython が Python 3.1 以降に対応していたのでインストールと設定をしてみた.やったのは インストール. プロンプトの設定. ipython 起動時に実行されるスクリプトの設定. インストール IPython は pip でインストールした. % pip-3.2 install ipython …

Cygwin で Python 3.2 をビルドする

次のように普通にビルドしようとしても libpython3.2m.dll.a をビルドする make ターゲットがないと言われてビルド エラーになります. % ./configure % makelibpython3.2m.dll.a の "m" は ABI フラグと呼ばれるもので "m" は PyMalloc を有効にしていると…

Mac での Python 開発環境のつくり方

Python 2.7 + pip + virtualenv + virtualenvwrapper で Python の開発環境を構築します. Python 2.7 のインストール まずは何はなくとも Python 入れないとだめだよねーっていうことで Python 2.7 をインストールします.ここでは Python 2.7 をインストー…

MacPorts で virutalenv, virtualenvwrapper を導入

明日の Python 東海のハンズオンの準備のため,MacPorts で virtualenv, virutalwrapper を導入した.http://groups.google.com/group/python-tokai/web/12 とりあえず port install. % sudo port install virutalenv-2.6 % sudo port install virutalenvwr…

名古屋 Hackathon ラムダ村 に参加してきました

もう一週間以上も経ちますが,名古屋 Hackathon に参加してきました.主催者の @mzp さんをはじめ他の参加者のみなさんのおかげでとても楽しい時間をすごせたことを感謝いたします.さて,自分は @akineko さん,@kumagi さん,@terurou さんとともに Python…

TDD Boot Camp 名古屋 1 日目でやったことを Python で復習する その 2

今日は TDD Boot Camp 名古屋 1 日目のペアプロ体験の後半でやった仕様変更の復習をするよ!前回のものに仕様変更を加えていく. 仕様変更 1 一度にいっぱい set できる set_multi と一度にいっぱい get できる get_multi を実装する仕様変更.正確仕様はち…

TDD Boot Camp 名古屋 1 日目でやったことを Python で復習する

タイトルとおりです.id:t-wada さんからも許可得ることができたのでお題も Python で書き直してみます. あ,ちなみに Python 3.1 です. お題 ↓のような仕様の FileStore クラスを作ります. >>> store = FileStore() >>> sotre.set('foo', 'hoge') >>> st…

Python で MultiIndex

土曜日に boost 勉強会の UStream 見てたら Python でも MultiIndex を使いたくなったので作ってみた.ちなみに,Python3 です. こんな風に使いたい!! MultiIndex は何を index とするかをどんな風に表現するのかが肝なのかなぁって思う.boost の場合は,…

Python 3.1 をインストールする

Python 3.1 がリリースされたね(*'ω')bってことで Gentoo Linux にインストールします.さすがにまだ Portage にはきていないと思うので,今回は自前でコンパイルします.まずは,Python 3.1 Releaseから Bzipped source tar ball (3.1) っていうのを適当な…

sys.stdout のエンコードを変更する in Python3.0

課題 sys.stdout のエンコードを変更したい!!! 説明 sys.stdout のエンコードの変更は,Python2.6 までは >>> sys.stdout = codecs.getwriter('utf-8')(sys.stdout) >>> print u'ほげ' ほげ ってやります.これを,Python3.0 でやると, >>> sys.stdout =…

for c in b'foobar'

Python 3.0 で for c in b'foobar': ord(c) ってやると何かエラーになります.c って bytes じゃないのって思ってました.でも実は… >>> for c in b'foobar': ... print(type(c)) ... <class 'int'> <class 'int'> <class 'int'> <class 'int'> <class 'int'> <class 'int'> int でした.</class></class></class></class></class></class>

構文解析が楽しいわけで

最近LALR(1)とか勉強中とりあえずLR(0)表を作れるようにした 参考文献 http://nicosia.is.s.u-tokyo.ac.jp/pub/staff/hagiya/kougiroku/compiler/lalr1http://nicosia.is.s.u-tokyo.ac.jp/pub/staff/hagiya/kougiroku/compiler/lr このコードにはバグが含ま…

続 functools.partialでのカリー化について考えてみる

西尾泰和のブログ: Pythonでカリー化を見てしまったら満足できなくなった. もともと >>> f = lambda x, y: x ** y >>> g = f(x=2) >>> g(3) 8こんな風に使いたかったのに >>>g = functools.partial(f, x=2) >>>g(3) 8で満足してちゃいけない コード ていう…

functools.partialでのカリー化について考えてみる

追記 2011-09-18 この記事にあるのはカリー化ではなく部分適用の間違いです。 Pythonでカリー化と部分適用について考えてみる - kk6のメモ帳* カリー化と部分適用の違いと誤用 - Togetter functools.partialというのを教えてもらったのでどういうものか試し…

カリー化

変数束縛してみる - @kei10in の日記にコメントもろたヽ(´ー`)ノ >>> f = lambda x, y: x ** y >>> g = f(x=2) >>> g(3) 8 こんな感じのことがしたい!! に対して morchin 2008/03/24 19:10 > こんな感じのことがしたい!! functools.partialを使用すれば…

変数束縛してみる

Pythonで変数束縛がしたい!!って思った. 具体的に言うと >>> f = lambda x, y: x ** y >>> g = f(x=2) >>> g(3) 8 こんな感じのことがしたい!! 早速チャレンジ(`・ω・´)シャキーン >>> f = lambda x: x ** y >>> g = f(2) >>> g(3) 8 うーん,これじゃ束縛可…

再帰的ジェネレータ

ジェネレータを再帰的に定義するっていう発想を知った. 面白そう!!っていうことで早速ためす. n個の中からm個とってきた組み合わせを作るジェネレータを作ってみる def perm_gen(seq, n=None, repeated=False): if n is None: n = len(seq) if n == 1: f…

Pythonには in 演算子があるんだよ!!

リストに要素があるかないかってどうするんだっけ?っていうときに >>> dir(list) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__getsli…