しばらく考えたのですが、これ以上のタイトルが思い浮かびません、すみません。
私は Python に不慣れで、(他の多くの人のように) 頭がよくわかりませんimport
。
「モジュール」と「パッケージ」、クラスと属性、その他すべてを理解していると思います。これは、明確にする必要がある特定の動作の 1 つです。
ファイル foo.py があるとします。次の 1 行があります。
x = 1
別のファイルで「foo をインポート」すると、x を参照できます。そして、すばらしいことに、別のファイルで foo をインポートすると、これら 2 つのファイルで x を共有できるようになります。簡単にするために、クラスを議論から除外します。ファイル間で属性を共有する Pythonic の方法。
ここに質問があります: I のときimport foo
、foo.py 自体が (より適切な比喩がないため)インタープリターによって 密かにインスタンス化されていると言っても過言ではありませんか?
モジュールでクラスを定義すると、それは従来のルールに従い、明示的に定義した場合にのみインスタンス化されることに気付きました。import
しかし、グローバル名前空間で私のモジュールのインスタンスをインスタンス化するPython インタープリター (ステートメントを介して) は、属性共有動作を説明する唯一の方法です。
これは本当ですか?半真実?それとも、失われた国で Sleestaks と一緒にさまよっているのですか?