基礎・上級問題チェック

問題 25 /40

モジュールとパッケージに関する説明で、誤っているものはどれか。

選択 1

モジュールがインポートされるとき、インタープリタは「ビルトインモジュール → sys.path変数で得られるディレクトリのリスト」の順に検索する。

選択 2

モジュールの読み込みを高速化するために、Pythonはコンパイル済みのモジュールを__pycache__ディレクトリに「module.バージョン名.pyc」の名前でキャッシュする。

選択 3

あるディレクトリをパッケージを含むものとして扱わせるには「__initial__.pyファイル」が必要である。

選択 4

「from パッケージ import アイテム」の構文を使うとき、アイテムはパッケージのサブモジュールでもいいし、関数、クラス、変数など、パッケージで定義された他の名前でも良い。

解説

選択肢3が正解です。

パッケージは、「__initial__.py」ではなく「__init__.py」の名前でファイルを作成して初期化します。

例えば、「package」という名前のフォルダに、「sample_a.py」と「sample_b.py」というモジュールがある場合、packageの配下に「__init__.py」を置きます。

package(フォルダ)
  __init__.py
  sample_a.py
  sample_b.py

__init__.pyにsample_aとsample_bをインポートするよう記述しておくと、「import package」とすることで、sample_aとsample_bで定義した関数が利用できます。

他の選択肢は正しい説明です。

(公式書籍 p.63-68)