python
去年から翻訳していた本が、今月末やっと発売になります。 エキスパートPythonプログラミング作者: Tarek Ziade,稲田直哉,渋川よしき,清水川貴之,森本哲也出版社/メーカー: アスキー・メディアワークス発売日: 2010/05/28メディア: 大型本購入: 31人 クリッ…
http://blog.livedoor.jp/dankogai/archives/51441112.html一方、Pythonはsetの演算子を定義した。 >>> a = "0 1 2 3 4 5 6 7 8 9".split() >>> b = "0 2 4 6 8 10 12 14 16 18".split() >>> print set(a) & set(b) set(['0', '8', '2', '4', '6']) >>> prin…
libbz2-dev libbdb-dev libgdbm-dev libncurses5-dev libreadline5-dev libsqlite3-dev libssl-dev libz-devこれだけあれば、まず使わないようなものをのぞいて、標準ライブラリがビルドできるはず。
いまさらだけど、 http://0xcc.net/blog/archives/000043.html の Python の部分を添削。 len(a) == 0 は、 if a: のようにリスト自体が空の時に偽になるので使わない。 a.pop(0) は del a[0] とも書ける。どちらでも良いが、多分属性参照が無い分 del の方…
http://blog.tuxcoder.com/2008/12/vim-restructure-text-macros.html を参考に、日本語タイトルに対応する。 vimスクリプトが全く判らないので、Pythonに頼った。 キーマップとか、もっと賢い方法があると思う。 python <
PIL のパレットは色々と問題がある。256色あることしか考えてないとか。 んで、PngImagePlugin も、 PNG の "tRNS" チャンクのうちαが0のところを見つけて、そのインデックスを info['transparency'] に突っ込むだけしかしてくれない。PNGのパレット形式はパ…
# coding: utf-8 def foo(): """ほにゃらら""" 一般的にdocstringと言われていて標準的に使われるドキュメント形式なんだけど、上記のように通常の文字列として書いた場合は (Python 2.xでは) byte string になり、utf-8でエンコードされているという情報が…
eBookにて購入。いいなこの本。 チュートリアルを読み終えてしばらくPythonを触った人〜独学でPythonパッケージをPyPIに登録するようになった人まで、入門者を除く広い層にお勧めできる。 Pythonって、標準で、Python以外の言語は使えるプログラマ向けチュー…
ソースはこれ: http://mail.python.org/pipermail/python-dev/2006-December/070238.html例えばパスをwrapするオブジェクトを作るときに、パスをunicodeで扱うのであれば、その文字列表現もunicodeにしたい。 そのオブジェクトに文字列表現を与えるとすると …
builtin の compile() 関数に encoding オプションをつけた IPythonやIDLEといったPython製Pythonインタラクティブシェルは、compile()関数を使ってユーザーが入力したコード片をコンパイルするんだけど、そのコード片をutf-8のコンテキストでコンパイルして…
PySide – Python for Qt RiverbankのPyQt4と別のQt Python binding. Nokiaが出資しているらしい。 PyQt4がGPLなのに対して、LGPLで使えるPython bindingがほしかったけどRiverbankとの交渉がまとまらなかったので新プロジェクトが立ち上がったらしい。 まだ…
http://groups.google.com/group/comp.lang.python/browse_thread/thread/314a3043ea63319f/ unicode vs s.decode unicodeはLOAD_GLOBALで、s.decodeはLOAD_ATTRでスタックに積まれる。で、LOAD_GLOBALの方が速い。 さらに言えば、何度もデコードを行うので…
mutableなクセにメソッドはstrと同じくout-placeという中途半端なbytearray. strとの違いは変更が可能 In [4]: ba = bytearray('foo') In [5]: ba[1] = 'O' In [6]: ba Out[6]: bytearray(b'fOo') というだけだと思っていたのだが、実はこんな所にも変更が I…
自分ならこう書く - pythonでA* - ラシウラより def astar(init, goal, nexts, distance=lambda path: len(path), heuristic=lambda pos: 0): import heapq queue = [] checked = [init] heapq.heappush(queue, (distance([init]) + heuristic(init), [init]…
拡張引用構文覚えた! こういう経験があると、たかが「List = list」ごときで何を大げさなと思ってしまうけど、Pythonista的にはこういうのも受け入れられないんだろう。 Pythonistaはtypedefすら拒絶する? (Re: Python での組み込み型をより自然な名前にす…
http://docs.python.org/library/stdtypes.html#file.encoding file.encoding The encoding that this file uses. When Unicode strings are written to a file, they will be converted to byte strings using this encoding. In addition, when the file i…
結局は http://d.hatena.ne.jp/methane/20090702/1246556675 なんだけど、ソースを提示しておく。まず、Python FAQにはこんな風に書いてある。 http://www.python.org/doc/faq/general/#why-does-python-use-methods-for-some-functionality-e-g-list-index-…
http://code.google.com/p/unladen-swallow/wiki/Release2009Q2 後で試そう。
会社のBlogでも告知しているんだけど、会社のBlogはPythonistaのアンテナにあまり登録されていない気がするのでこちらでも告知しておく。 http://dsas.blog.klab.org/archives/51456004.htmlMessagePackはjson相当の機能をもつけれどもjsonと違いバイナリフ…
http://d.hatena.ne.jp/pashango_p/20090702/1246550203 len()がリストのメソッドでないのも同じ理由です。 オブジェクト指向的に考えれば、リストのメソッドであるべきなのに、わざわざビルトイン関数にしたんです。 「オブジェクト指向的に考えれば、リス…
hg-fixutf8 は、出力しようとしているutf-8文字列の中に、現在のコードページで出力できない文字が存在した場合、SetOutputCP(65001) して utf-8 をそのまま出力する。 でも、これ、実際にやってみるとコードページを切り替えるときにコンソールの内容が化け…
「(ruby|javascript)でstr.join(array)、pythonでlist.join(str)」http://blog.livedoor.jp/dankogai/archives/51226075.html ここではlistを継承したListクラスをこさえて、そこにjoinメソッドを追加しているが、listに直にメソッド追加する方法はないのだ…
Ruby厨とPython厨が平行線の議論をしていたので、まとめてみる。 オブジェクト指向的にキモイ? str.join() 処理での登場人物は2人いる。連結文字(区切り文字=separator)、連結される文字列の列だ。 この二つを比べると、「連結される文字列の列」が情報的に…
Windows 用 Python に移植された readline は二つある。 ひとつは、 UNC Python Tools の Python readline http://sourceforge.net/project/showfiles.php?group_id=82407&package_id=84552 もうひとつは、 IPython の開発元が開発している PyReadline http:…
ダウンロードページはこちら。 http://www.riverbankcomputing.co.uk/software/pyqt/download今回から Python 3.0 がサポートされている。
http://d.hatena.ne.jp/kazkun/20090529/1243560131 他の言語の経験が長いためか、Pythonの面倒なところ、嫌なところはたくさんでてくる。※例えばprintで最後を改行もせず空白も空けない事ができないとか、副作用を持ったプロシジャが値を返してくれないとか…
Python 3.0 に対応したり、signal/slot周りをPythonicに改良した PyQT 4.5 が早ければ今週末にもリリースされる。 PyQtアプリの開発環境構築〜開発〜配布までをまとめた本でも書けば流行るのかな。
logging.basicConfig() はルートロガーがまだ初期化されていない場合に初期化する関数だけど、一度でもログを出力すると自動でルートロガーが初期化されてしまうので basicConfig() は無効になってしまう。 import logging import foo ... if __name__ == '_…
history のためすぎを疑う。%clear shadow_compress か %clear shadow_nuke かを試すと良い。詳しくは %clear?
もし想定以上のメモリを Python プログラムが消費しているのであれば、ループの中で循環参照が生まれていることや、回収不能オブジェクト(循環参照なうえに __del__ メソッドが存在するためにgcがどこから循環を切っていいのか判らないオブジェクト)が存在し…