9

いくつかのクラスを含むパッケージ (mypackage) を作成しようとしていますが、クラスを複数のファイルに含めたいと考えています。

たとえば、class_a.py に ClassA という名前のクラスを含めたいなど...

したがって、次のファイル構造が必要です。

  .../mypackage 
       __init__.py
       class_a.py
       class_b.py
       ...

ただし、次のようにパッケージをロードして使用したいと思います。

load mypackage
a = mypackage.ClassA()

これを可能にするために何をする必要がありますか(__init__.pyで想定しています)ファイル。現在、「mypackage.class_a.ClassA()」を使用して動作していますか?

4

3 に答える 3

1

、などを他のファイルから__init__.pyすべてインポートします。ClassAClassB

すると、 を使用したり、非修飾として使用したりできるようにimport mypackageなります。mypackage.ClassAfrom mypackage import ClassAClassA

背景を少々。

import fooステートメントは を探しfoo.py、次に を探しfoo/__init__.py、そのファイルで定義されている名前を現在の名前空間にロードします。「トップレベル」になるために必要なものはすべて に入れます__init__.py

また、傾向がある場合は、トップレベルの変数を見て__all__from mypackage import *ください。

于 2013-05-07T17:53:15.447 に答える
-1

__init__.pyに、これを追加します。

from class_a import ClassA
from class_b import ClassB

del class_a
del class_b
于 2013-05-07T17:55:37.243 に答える