2008-01-01から1年間の記事一覧

pythonでの文字の連結は、文字列よりリストを使おう!

先日のPython Code Reading 06で学んだこと。 pythonで文字を連結をする場合は、文字列のプラス('+')で連結するより リストのappendを使った方が早いらしい。 で、試してみました。下がソース $ cat hoge.py #! /usr/bin/python import time class test1: de…

Pythonで長い文字列を記述するときの便利技

丸括弧を使用することで、長い文字列を改行して記述することができる。 カンマを使用しないところに注意。 >>> print ('寿限無、寿限無 ' '五劫の擦り切れ ' '海砂利水魚の ' '水行末 雲来末 風来末 ' '食う寝る処に住む処 ' 'やぶら小路の藪柑子 ' 'パイポ…

Google Analytics のトラッキングコード「UA-441387-31」って誰のもの?

はてなダイアリーは Google Analytics を使ったアクセス解析が 簡単に設定できるようになっている。Google から受け取ったトラッキングコードっていうやつを はてなダイアリー管理画面の設定で貼り付けるだけで 設定完了というお手軽さ。 たぶんJavaScriptで…

pythonでシグナルの捕獲

signalモジュールを使用すると、プロセスに送信されたシグナルを捕獲して任意の動作ができる。以下は、TERMシグナルをゲットして、文字列を表示した例。 $ cat waite_signal.py #! /usr/bin/python import signal def handler(signum, frame): print 'signal…

pythonでのリストの比較

リストの比較は、要素ごとに比較される。一箇所でも、FalseがあるとFalseが返却されるっぽい。 リストの長さが違っても、OKっぽい。 >>> foo = [1, 2, 3] >>> bar = [1, 2, 4] >>> foo < bar True >>> foo = [1, 2, 3] >>> bar = [1, 3, 2] >>> foo < bar Tr…

pythonでの値の比較とオブジェクトの比較

「==」は値の比較。 「is」はオブジェクトの比較。 >>> foo = 'Boys Be Ambitious' >>> bar = 'Boys Be Ambitious' >>> foo == bar True >>> foo is bar False 短い文字列など、使用頻度の高いオブジェクトは使い回されるので、 「is」での比較は True とな…

pythonのvars()って便利!

vars()は、存在する変数の名前と値を辞書で返す。デバッグに使えそう。 >>> a = 123 >>> b = 456 >>> c = 789 >>> >>> >>> "%(a)s %(b)s" % vars() '123 456'

pythonではNull文字(\0)はただの文字

めもめも。Null文字(\0)は、C言語では、文字列の終端をあらわす。pythonでは、ただの文字。 >>> foo = "a\0b\0c\0" >>> foo 'a\x00b\x00c\x00' >>> len(foo) 6

Pythonの文法と戯れる

pythonの文法の興味深いところをメモってみました。 リストのスライス >>> list = [1, 2, 3, 4, 5] >>> list[1] 2 >>> list[1:] [2, 3, 4, 5] >>> list[1:3] [2, 3] >>> list[:3] [1, 2, 3] >>> list[:] [1, 2, 3, 4, 5] >>> list[-1] 5 >>> list[-2] 4 >>> …

VMware ESXi 3.5 のインストール

ひょんなことから HP ProLiant ML115 G5 を貰いましたので、VMware ESXi 3.5 を試してみました。意気揚々と ESXi を CD-R に焼きまして、CDブートっ! 「・・・ Not enough memory ・・・」 メモリが1GB必要らしいです・・・(512MB・・・) 参考:Not enough memory abo…

macports の jython は pythonの標準ライブラリが使えない?

jython をインストールしてみました。 はじめは、jython を macports で管理したいので macports でインストールしました。 が、「import re」とかやってもエラーがでます↓ しかたなく jython_installer-2.2.1.jar でインストールしました。 どうも、 macpor…

pythonのinspect で モジュールが定義されているファイル名 をゲットする!

python の標準ライブラリに inspect という便利なものがあるので使ってみた。では、やってみます。 デバッガpdb でプログラムを読み込み、調査するモジュールの import 部分まで進めます。 $ /opt/local/lib/python2.5/pdb.py /Library/Python/2.5/site-pack…

Leopard で cvs版screen

Leopard で 縦分割できるcvs版screenを使いたかったのでインストールしました。 $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/screen co screen $ cd screen/src $ ./configure --prefix=/User/junichi --enable-color256 $ make が、いつ…

Leopard で ipython

Leopard で ipython をインストールしたら Leopard libedit detected と怒られた。 しかも、インデントが効かない!(python でそれはないだろう…)調べてみると、Mac OS X には readline のライブラリがないらしくipython がうまくうごかないらしい。また、…