追記
Pythonチュートリアルにしっかりと書いてありますね。
http://www.python.jp/doc/release/tut/node6.html#SECTION006710000000000000000
4.7.1 デフォルトの引数値
デフォルト値は、関数が定義された時点で、関数を 定義している 側のスコープ (scope) で評価されるので、
i = 5 def f(arg=i): print arg i = 6 f()は 5 を出力します。
Pythonチュートリアルにしっかりと書いてありますね。
http://www.python.jp/doc/release/tut/node6.html#SECTION006710000000000000000
4.7.1 デフォルトの引数値
デフォルト値は、関数が定義された時点で、関数を 定義している 側のスコープ (scope) で評価されるので、
i = 5 def f(arg=i): print arg i = 6 f()は 5 を出力します。