11モジュール、モジュールの検索順序、_file__組み込み属性、_name__ツールバーの

2306 ワード

モジュールの概念
pythonファイルはモジュールです.
モジュール名は識別子でもあり、識別子の命名規則に合致する必要があります.
モジュールで定義されたグローバル変数、関数、クラスは、外部から直接使用されるツールです.
モジュールはツールパッケージのようなもので、モジュールを使用するには、まずインポートする必要があります.
モジュールのインポート方法
モジュールがインポートされると、モジュールにはインデントされたコードがなく、完全に実行されます.
推奨方法
import    1
import    2

  
推奨されない方法
import    1,   2

  
モジュールの別名
モジュールをインポートすると、モジュールに別名を付けることができ、別名はアルパカの命名規則に従います.
フォーマット:importモジュール名as別名
モジュールインポートの順序仕様
次の優先順位でインポート
  • 公式標準モジュール
  • サードパーティモジュール
  • アプリケーションモジュール
  • 一部のツールのインポート(ローカルインポート)
    モジュールにインポートするツール(グローバル変数、関数、クラス)の一部を指す場合は、一部のツールを使用してメソッドをインポートできます.
    利点:モジュール名を使用することなく、インポートツールを直接使用できます.を使用して、モデルのすべての要素を選択します.
    書式:from import
    ツールの別名:
    同じ名前のツールが2つインポートされている場合、最後にインポートされたものは前にインポートされたものを上書きします.この問題を解決するために、asキーワードを使用してインポートしたツールに別名を付けることもできます.
    エイリアスは識別子命名規則に従います.
    例:
    from xh_25_    1 import module_name as tools1
    

      
    form import*ですべてのツールをインポート(推奨しません!了解)
    この方法でモジュールのすべてのツールを使用できますが、お勧めしません.
    ツールの重複上書きには何のヒントもないため、問題のトラブルシューティングに不便です.
    モジュールの読み込み順序
  • pythonシステムでは、randomモジュールなどのシステムモジュールを内蔵してユーザーが使用しやすい.
  • モジュールをインポートするときは、現在のファイルディレクトリ、pythonシステムモジュールディレクトリの順に検索します.
  • システムモジュールディレクトリが存在するため、モジュールに名前を付けるときは、システムモジュール名と同じではない.

  • __file__組み込み属性
    使用:print(モジュール名._file_)モジュールが存在する絶対パスを出力できます.
    直接print(_file_)の場合、現在のpythonファイルの絶対パスが出力されます.
    __name__モジュールとコードブロックをテストする
    テストブロック
    開発では、通常、1つのモジュールにテストコードブロックが書かれており、これらのコードブロックは通常、テスト結果をコンソールに出力します.
    モジュールをインポートすると、モジュールにインデントされたコードがなく、完全に実行されます.
    しかし、1つのモジュールにとって、私たちはそのツールだけが必要で、そのテストコードがテスト結果をコンソールに出力する必要はありません.
    この問題を解決するためには、__を使用する必要があります.name__組み込みプロパティ.
    __name__
    __name__属性はファイルのモジュール名を格納します.現在のモジュールで呼び出された呼び出しの値は、文字列「_main_」です.
    でも!このモジュールが他のモジュールにインポートされた場合_name__プロパティの値は、呼び出されたモジュールの値です.
    モジュールのインポート時にテストブロック出力の問題を解決する
    利用_name__プロパティの特性は、if文を使用してこの問題を解決することができます.
    インポートされたモジュールでif判定__を使用name__の値が「_main_」の場合(このモジュールでテストする場合)、ifでのテストコードを実行します.そうでなければ(インポートされる場合)、実行しません.
    次のようになります.
    if __name__ == "__main__":
        """if          ,         """
        print("        ")