ホームページ  >  記事  >  バックエンド開発  >  Python モジュールとパッケージの違いは何ですか?

Python モジュールとパッケージの違いは何ですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-22 04:58:15947ブラウズ

What's the Difference Between a Python Module and a Package?

Python のモジュールとパッケージを理解する

Python では、モジュールとパッケージの区別は主にファイル システム レベルで観察されます。 。それらの主な違いを詳しく見てみましょう:

  • モジュール: Python ファイルはすべてモジュールとみなされます。モジュールの名前は、「.py」拡張子を除いたファイルのベース名から派生します。
  • パッケージ: パッケージは Python モジュールのコレクションです。モジュールとは異なり、パッケージは追加の「__init__.py」ファイルを含むディレクトリによって表されます。このファイルは、単に Python スクリプトを含むディレクトリとパッケージを区別します。各ディレクトリに "__init__.py" ファイルがある限り、パッケージは相互に任意の深さまで入れ子にすることができます。

この違いはファイル システムの構成では明らかですが、いつ入れ子にするかに注意することが重要です。モジュールまたはパッケージをインポートすると、Python によって作成される対応するオブジェクトのタイプは常に「モジュール」になります。ただし、パッケージをインポートする場合、パッケージの「__init__.py」ファイルで定義されている変数、関数、クラスのみが直接アクセスでき、サブパッケージやサブモジュールにはアクセスできません。

Python 標準の「xml」パッケージを検討してくださいlibrary:

  • 「xml」ディレクトリには、「__init__.py」ファイルといくつかのサブディレクトリが含まれています。
  • そのようなサブディレクトリの 1 つである「etree」には、「__init__」が含まれています。 .py」ファイルと「ElementTree.py」ファイル。

パッケージをインポートするとき対話的に:

import xml

「xml」オブジェクトのタイプが「module」であることがわかります。サブコンポーネントにアクセスするには、さらにインポートが必要です:

import xml.etree
import xml.etree.ElementTree

注: Python には、C で実装される「sys」などの組み込みモジュールも含まれていますが、この区別は通常含まれていません。モジュールとパッケージに関するディスカッションで。

以上がPython モジュールとパッケージの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。