pythonにおけるモジュールとパッケージの概念

1927 ワード

1.モジュール
ひとつpyファイルはモジュールです.このファイルの名前はモジュール名です.py.pythonでは、ファイル名とモジュール名の違いは接尾辞の有無にすぎないことがわかります.接尾辞があるのはファイル名で、接尾辞がないのはモジュール名です.
各ファイル(各モジュール)は独立した名前空間であり、2つ(複数)のファイルに同じ名前の関数が表示されます.
import,from.....import...2つのインポートの違い:
1.import
モジュールごとに独立したネーミングスペースを持つことを区別し、モジュール内の関数を使用するにはモジュール名を使用する必要がある.関数名の方法で使用します.
importを使用できます.....as....インポートするモジュールに別名を付けます.このモジュールの関数を使用する場合、別名を使用できます.関数の名前.
2.from.....import...
モジュールの内容を現在のネーミングスペースにインポートし、名前をそのまま使用すればいいです.
インポートされたモジュールと現在のファイルに同じ名前の関数がある場合、後者は前者を上書きします.
どういう意味ですか.
この时はfromを见ます.....import...(fromの後にモジュール名、importの後に具体的な関数名、またはモジュール内の具体的な変数名など)が現れる場所です.現在のモジュール関数の前に現れると、現在のモジュールの関数はインポートした関数を上書きし、現在の関数定義の後に現れると、インポートした関数は現在のモジュールの関数を上書きします.
    from.....import......asは、インポートされた関数や変数に別名を付けることができ、同様に複数の関数、変数などをインポートすることができる.
    from......import*はこの方法でモジュールをインポートすることをお勧めしません.以前の同じ名前の関数などを上書きする可能性があります(この方法では_で始まる変数や関数はインポートされません).
3.共通点
pythonでは、再ロードまたはアンインストール前のインポートモジュールはサポートされていません.そのため、インポートされたモジュールを変更する場合は、pythonプログラムを再起動するか、または再ロード文を使用してimport importlib; importlib.reload(modulename)を実装する必要があります.
モジュールがインポートされると、彼のグローバル変数名_name__ モジュール名です.このモジュールをスクリプトとして実行すると、グローバル変数名_name__は__ですmain__.
モジュールの検索順序:メモリにロードされているモジュール->内蔵モジュール->sys.pathパスに含まれるモジュール.(だから、モジュールを自分で開発するときは、既存のモジュール名と重複しないように注意してください)
2.パッケージ
パッケージの本質は、__を含むことです.init__.pyファイルのディレクトリ.使用することによってモジュール名’はpythonモジュール名空間を組織する方法であり、すなわち、パケットをインポートする際にポイント付きに遭遇する.これがパケットのインポート構文である.
インポートパッケージ、本質的にはパッケージにインポートされた_init__.pyファイル.
パッケージのインポート形式もあり、importとfrom.....import......2つの形式.
3.ヒントimport *には、_で始まる変数を除いてすべての変数がインポートされますが、__all__が定義されている場合は、__all__にリストされているものがインポートされます.
   __all__モジュール内のグローバル変数、リスト
転載先:https://www.cnblogs.com/bandaobudaoweng/p/10800864.html