importステートメントとfromステートメント
importステートメントによってアクセスできる属性は、全て共有されている。
fromステートメントはスコープへの変数がコピーされる。importのような共有は発生しない。
以下のようなpythonモジュールを用意する。
module0.py。
X = 0
module1.py。
X = 1
以下を実行した。
>>> import module0 module0 >>> import module1 module1 >>> module0.X 0 >>> module1.module0.X 0 >>> module1.module0.X = 10 >>> module1.module0.X 10 >>> module0.X 10
module1.module0.Xへの代入で、module0.Xの値が変化している。
>>> from module0 import X >>> X 10 >>> X = 100 >>> X 100 >>> module0.X 10
Xへの代入は、module0.Xの値を変化させない。