rate
グローバル変数として初期化しました:
import os, sys
rate=30
def foo():
print('#########rate:', rate)
if False:
rate=int(sys.argv[2])
foo()
しかし、スクリプトを実行すると、次のエラーが発生します。
Traceback (most recent call last):
Line 10, in <module>
foo()
Line 5, in foo
print('#########rate:', rate)
UnboundLocalError: local variable 'rate' referenced before assignment
ステートメントは実行されませんが、if False: rate=int(sys.argv[2])
何らかの影響があるようですが、これを説明するpythonルールはありますか?