私が読んだPythonのすべてのドキュメントは、モジュールAをインポートしてからリファレンスA.aを実行すると、 "import Aから"と書いたのと同じ変数を参照していることを示しています。なぜfrom ... importがPythonのインポート時に値にバインドするように見えるのですか?
ただし、ここには該当しません。何が起きているのかわかりません。私はPython 2.6.1を使用しています。
私は、モジュールalpha.py作成する場合:
Value of bravo is: None
Value of alpha.bravo is: 1
理由:
import sys, os
sys.path.append(os.path.abspath('.'))
import alpha
from alpha import bravo
alpha.set_bravo()
print "Value of bravo is: %s" % bravo
print "Value of alpha.bravo is: %s" % alpha.bravo
は、その後、私はこの出力を得る:
bravo = None
def set_bravo():
global bravo
bravo = 1
はその後モジュールをインポートするスクリプトを作成しますそれは?
ああ。インポートされた変数名をモジュールからローカル名前空間にインポートすると考えましたが、ローカル名前空間の同じ名前をインポートされた変数の* value *にバインドしているようです。 私はそれが不自由なのか、私はそれがそうでないことを理解するにはあまりにも甘いのか分かりません。 –
正しい。 Pythonには "変数"自体はなく、 "名前"だけがあります。 –