起動オプション

-dデバック情報を出力する。
-iスクリプトを対話的に検査し、プロンプトを出力する。
-O生成するバイトコードを最適化する。
-Simport 文を無視する。
-t矛盾したインデント付けを警告する。
-uバッファ無しのバイナリー標準出力と標準エラー出力
-U文字列リテラルを Unicode として読む
-v詳細な import 文の追跡
-xソースの最初の行をスキップ。
-?ヘルプ

環境変数関連

パスが通っているディレクトリの表示

import sys
print sys.path

環境変数の設定

import os
print os.environ
os.environ["TZ"] = "UTC"

ファイルの読み込み

data = []
for line in open(filename,'r'):
    data.append( [ float(item) for item in line.strip('\n').split() ] )

__main__

import sys
def main(argv):
    pass
if __name__ == '__main__':
    main(sys.argv)
    pass

動的にmoduleを読み込む

def my_import(name):

   mod = __import__(name)
   components = name.split('.')
   for comp in components[1:]:
       mod = getattr(mod, comp)
   return mod

No white space after print

#!/usr/bin/env python
import sys
import time

while True:
    sys.stdout.write('.')
    sys.stdout.flush()
    time.sleep(1)
python sleep.py 
........

format

Reference

2進数変換

a = 83
print '{0:032b}'.format(a)

None

「None」との比較に「==」や「!=」を利用してはいけない。「is」や「is not」を利用する。

_, __, & __hoge__

Pythonの関数・メソッド・アトリビュートの名前が、二つのアンダースコア__によって始まり、なおかつ二つのアンダースコア__によって終わらないのであれば、それはプライベートである

  • _: クラス内部用のものという指標である。
  • __: private
  • __hoge__: 特殊メソッド・アトリビュート用。自分自身のメソッドやアトリビュートを、このように命名するのはやめたほうが良い

sort dictionary

target_out = sorted(target_in, key=lambda val: val[key])