Pythonチュートリアルを一読した。

以下忘却録。

  • Pythonのfor文はC言語のforではなくてシェルなどのforeachに似てる
  • Python関数のディスクリプションが知りたい場合は
print xxxfunc.__doc__

とすればよい

  • 文字列とタプルは変更不可、リストは変更可能
  • PYTHONPATHを調べるには
import sys
sys.path

とすればよい。また、PYTHONPATHを追加するには

import sys
sys.path.append('/ufs/guido/lib/python')

とすればよい

  • 辞書のソートは
keys = hogeho.keys()
keys.sort()

と行う。

  • オブジェクトをファイルに保存するにはpickleをつかう。いわゆるjavaシリアライズ
  • try文は1個以上のexcept節か、1個のfinally節を持つ必要がある。しかし、両方を持つことはできない。
  • メソッド呼び出しの最初の引数selfはPythonではなんの意味も持たない。ただの慣行でしかない。しかし、他のPythonプログラマからのコードの可読性を考えてこれを採用する。
  • Pythonではクラスの多重継承が認められる。(ちょっと驚き。。。)多重継承ではオーバーライド形式ではなくファーストマッチ形式の模様。つまり
class subClass(Base1, Base2, Base3):

となった場合。左から順番にメソッドを検索していく

set editing-mode vi

と入れておくとviモードになる

  • 変数名とモジュール名の自動補完をするには
import rlcompleter, readline
readline.parse_and_bind('tab: complete')

と記述する。ただこれをするとtabが補完に割り当てられるため、インデント入力に苦労する。
(回避策はあるのか?Ctrl-Tab??)