ディレクトリ
パッケージ
パッケージとは何ですか?
パッケージは、モジュールの形で、本質は、フォルダのファイルを含むパケットである__init__.py
なぜ詰める必要がありますか?
モジュールの最初のバージョンはわずか10関数であるが、将来的に拡張されたバージョン、モジュール名と使用方法は変更しないことをお勧めする必要がありますとき、これはユーザーフレンドリー、および拡張版ので、ファイルの増加のためである、モジュラーデザイン管理モジュールにより、メンテナンスがより複雑になりますので、私たちは、機能モジュールを拡張するためにパッケージを使用することができます
パッケージが導入された場合には三つのことがありました
- ファイル__init__.pyのAAAフォルダを開きます
- パッケージはフォルダですので、あなたがパッケージを実行することはできません、パッケージの実装で非常に__init__.pyファイルは、パッケージの名前空間に格納された実行名の間に生成されます(つまり、名前空間に保存されているパッケージ名がから来ています
init.py
) - AAA、現在の実行可能ファイルに名前を取得するAAAは、パッケージの名前空間を指しています
三つは、インポートモジュールが起こりました
- ネーム・スペース・モジュールを作成します。
- PYファイルの実行、名前空間に格納されて生成された実装プロセスの名前
- AAA、現在の実行可能ファイルに名前を取得するAAAは、パッケージの名前空間を指しています
相対インポート、絶対的な輸入
絶対輸入
# aaa/__init__.py
from aaa.m1 import func1
from aaa.m2 import func2
相対輸入
from .m1 import func1
from .m2 import func2
'''
包内模块是以相对路径导入
. 当前目录
.. 上一级目录
... 上上级目录
执行文件是以绝对路径导入。
'''
注意事項
- ==標準として、実行可能ファイルへのモジュール検索パス。==
- パッケージはの.pyファイルです
- パッケージ内のすべてのファイルを使用してインポートされるのではなく、直接実行されています
- (モジュールが参考として導入されている現在のディレクトリに)導入された相対的な(基準パケットとしてルートディレクトリに)導入され、絶対に使用できるインナーバッグモジュールとの間に導入され、相対的インポートを推奨
- ファイルが実行可能ファイルではなく、相対的インポート構文、及びある場合にファイルが相対インポートの構文を使用するためにファイル内のファイル内のモジュールとしてインポートされた場合にのみ
- 左のポイントのインポート中には、パッケージにする必要があり、ほとんどの方は
import aaa.bbb.m3.f3
誤り