1
グローバル変数を取得します。Pythonのインポートモジュールは、私は2つのPythonスクリプト、1 testclass.pyを持って
import numpy
zz = numpy
class Something(object):
def __init__(self):
self.xp = zz
と1 testscript.py:私は、エラーをスローするtestscript.pyを期待
from testclass import Something
x = Something()
print(x.xp)
testscriptはクラスSomething
(その__init__
メソッドを持つ)だけをインポートし、グローバル変数zz
はインポートしないと思っていたからです。だから、このbevahiour与えられた、私の質問は、モジュールからインポートするとき、Pythonモジュールファイル内のすべてを "実行"ですか?
私はあなたのプロジェクトの深いモジュールでランダムなものを定義するというアイデアが気に入っています。同じ名前を保つのが好ましいが、異なるMROを使用することは、楽しい時にするだろう。 – spectras
'from import Foo'を複数回実行すると、失敗の可能性が増減しますか?または、定義されたクラスは、最初のインポート後のプロセスで同じままになりますか? –
@ ZachGates:モジュールオブジェクトは、最初に がインポートされた後に 'sys.modules'にキャッシュされます。 – Blender