Python モジュールとパッケージ: コード プロジェクトの編成
Python のモジュールとパッケージを理解します。ファイルのインポート、大規模プロジェクトの構築、標準ライブラリの利用、および絶対インポートと相対インポートの使用方法を学びます。
概要
アプリケーションが成長するにつれて、すべてのコードを 1 つのファイルに保持すると、管理、読み取り、デバッグが不可能になります。 Python は、コードをモジュールとパッケージに編成することでこの問題を解決します。モジュールは、変数、関数、クラス、実行可能ステートメントを含む単純な Python ファイル (`.py` で終わる) です。コードを論理モジュールに分割することで、テストやさまざまなアプリケーション間での共有が容易なクリーンで再利用可能なコードベースを作成できます。
あるモジュールのコードを別のモジュールで使用するには、Python では `import` キーワードを使用します。モジュール全体をインポートする (例: 「import math」)、特定の属性をインポートする (例: 「from math import pi, sqrt」)、またはコードを簡潔に保つためにエイリアスの下でモジュールをインポートする (例: 「import pandas as pd」) ことができます。 Python のインポート システムは、インポートを解決する前に、現在のディレクトリから始まり、インストール ディレクトリと標準ライブラリの順に特定のパス リストを検索します。
パッケージは、ディレクトリ構造に編成されたモジュールのコレクションです。ディレクトリをパッケージとして定義するには、従来、ディレクトリには `__init.py` という名前のファイルが含まれていました (ただし、これはPython 3.3+ の名前空間パッケージではオプションです)。この構造により、関連するモジュールを 1 つの名前空間にグループ化できます。たとえば、`database` という名前のパッケージには、モジュール `connection.py` と `queries.py` が含まれる場合があります。ドット表記を使用してコンテンツをインポートします: `import database.connection`。モジュールとパッケージをマスターすることは、スケーラブルで本番環境に対応した Python アプリケーションを構築するための鍵となります。
コードと実行の出力
Python のインポート システムを使用して数学関数にアクセスし、カスタム エイリアスを利用します。
import math
from math import sqrt as square_root
# Calculate mathematical constants and values
val = 16
result = square_root(val)
pi_value = math.pi
print(f"Square root of {val} is {result}")
print(f"Value of Pi: {pi_value:.4f}")
print(f"Cosine of 0 is {math.cos(0)}")Square root of 16 is 4.0
Value of Pi: 3.1416
Cosine of 0 is 1.0段階的な実装
- ビジネス ロジックをルート ハンドラーから分割する
- アプリケーション全体で標準ライブラリ ユーティリティを利用する
- コードを再利用可能なオープンソース ライブラリとして公開する
よくある質問
__init.pyの目的は何ですか?
ディレクトリを Python パッケージとして初期化します。また、インポートを容易にするために、特定のサブモジュールまたは変数をパッケージ レベルで公開するために使用することもできます。
外部モジュールをインストールするにはどうすればよいですか?
コマンドライン (pip install リクエストなど) 経由で Python のパッケージ マネージャー pip を使用し、PyPI からパッケージをダウンロードしてインストールします。
関連トピック
推奨される Python リソース
関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。
Python でリストを並べ替える方法
sort() メソッドとsorted() 関数を使用して、Python でリストを並べ替える方法を学びます。カスタムキーの並べ替えと逆順の例をご覧ください。
Python 文字列メソッドのチートシート
Python 文字列操作の完全なリファレンス ガイド。文字列プロパティの書式設定、検索、分割、置換、チェックをマスターします。
Python と JavaScript: どちらのプログラミング言語が最適ですか?
Python と JavaScript の包括的な比較。構文の違い、パフォーマンス、使用例 (バックエンドとフロントエンド)、およびコーディング例を調べます。