Pythonモジュールとパッケージ


モジュール
Pythonのモジュール(Module)は、Pythonファイルで、接尾辞名は.pyは、Pythonオブジェクト定義とPython文が含まれており、モジュールには関数、クラス、変数も定義でき、モジュールには実行可能コードインポートモジュールも含まれています
1. import    [,   ,   ,...]
2. from     import     [,    ,    ,....]
3. from     import *(      )
4. import     as   
5. from     import      as   


作成モジュールPythonでは、各Pythonファイルをモジュールとして使用できます.モジュールの名前はファイルの名前です.つまり、カスタムモジュール名は識別子命名規則に合致しなければなりません.モジュールテストは実際の開発では、開発者がモジュールを書き終わった後、モジュールがプロジェクトで所望の効果を達成するために、この開発者は、このモジュールの機能を作成する際に、モジュールの各機能をテストする必要があります.
一般的には、テストのシナリオがたくさんあります.
  • テストpythonファイルを再作成し、モジュール呼び出し機能テスト
  • に移行します.
  • は、モジュールファイルで直接テストを行うこともできるが、少し注意しないと、テストのコードがアプリケーションシーンで呼び出される
  • である.
  • 実際のテストの目標は、モジュール内で直接テストする場合、モジュール内で実行する場合にのみモジュール内のテストコード
  • を実行することに相当する.
    __name__:             
    
    __mian__:        
    
    

    モジュールの位置付け順序モジュールをインポートすると、Python解析器によるモジュールの位置の検索順序は次のとおりです.
  • 現在のディレクトリ
  • 現在のディレクトリにない場合、Pythonはshell変数PythonPathの各ディレクトリ
  • を検索する.
  • が見つからない場合、Pythonはデフォルトのパスを表示します.UNIX、デフォルトパス/user/local/lib/Python windows:デフォルトパス現在python.exeのlib
  • モジュール探索経路はsystemモジュールのsysに格納.path変数です.変数には現在のディレクトリが含まれており、PythonPathはインストールプロセスによって決定されます.
  • 独自のファイル名は、既存のモジュールのファイル名と重複しないでください.そうしないと、モジュール機能が
  • を使用できなくなります.
  • fromモジュール名import機能を使用する場合、機能名が重複する場合、最後に定義された機能またはインポートされた機能
  • が呼び出される.
  • モジュールをインポートした後のプログラムコードの変数は一般的にモジュールの名前と一致しないが、自在にモジュールを呼び出すかどうかは、この名前はすでに変数であり、モジュールではない.Pythonの変数は
  • を参照しているからだ.
    __all__   
    
              __all__  ,   from xxx import *   ,            ,       (*)      
    
      all   *all       *     
    
    

    パッケージ
    パッケージは、リンクされたモジュールを整理し、同じフォルダの下に配置し、このフォルダに__という名前を作成します.init__.pyファイルは、このフォルダをパッケージ作成パッケージ項目の右クリック【new】-【Python Package】-パッケージ名-【OK】と呼びます
    注意:パッケージが正しく作成されているかどうか、パッケージが作成された後にinitが自動的に作成されているかどうかを確認します.pyファイル、
    __init__ファイルの役割:パケットのインポート動作を制御してパケットをインポートする
    import   .   
    
      .   .   
    
    ##        
    
    from    import,......
    
    from    import *
    
    import   .    as   
    
    #__init__  
    init            _all_   , init         __all__      ,