みんなの Python 1-8 スクリプトファイル 1-9 効率的なプログラミング
- 作者: 柴田淳
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/08/22
- メディア: 単行本
- 購入: 11人 クリック: 624回
- この商品を含むブログ (180件) を見る
今日は 1-8 「スクリプトファイル」と 1-9 「効率的なプログラミング」のところを読みました。
- 空行がブロックの終端として扱われるのは python をインタラクティブに起動した時だけの挙動らしい
- Ruby でいうところの $0 == __FILE__ は __name__ == '__main__'
- 引数は import sys して sys.argv でアクセス
- Ruby でいうところの nil は None
- Python では文(Statement)は式(Expression)ではない。まあ普通はそうかも
- copy モジュールの copy() 関数で shallow copy できる。 import copy; copy.copy(obj);
- copy.deepcopy() で deep copy できる
- デフォルト値つきの引数へのデフォルト値の代入は一度しか実行されないのでリストや辞書をデフォルト値にしている時は注意が必要
最後のデフォルト値つき引数の問題ははまりそうです。
def func(a=[]): a.append(0) return a
この関数 func は引数を省略して呼ぶたびにサイズが大きくなったリストを返します。