モジュールについてより詳しく
モジュールについて詳しく知ろう
前回モジュールのインポート方法について大まかに説明しました。今回は、もう少し詳しく説明していきます。
モジュールのサーチパス
前回は、同じディレクトリ(フォルダ)に存在するモジュールをインポートしました。Pythonはインポートするファイルをどのように探しているのでしょうか。実は、Pythonの標準モジュールのsysのpath変数に格納されているディレクトリ名などを利用してモジュールを探しています。このpath変数に格納されていないところにはモジュールを探しに行かないので気をつけてください。(path変数は自分で書き換えることもできます。)定義されているpath変数を表示して見ましょう。
>>> import sys >>> for place in sys.path: ... print(place) ... #空行でカレント(現在いる)ディレクトリを表わしている。 /Users/anaconda/lib/python36.zip /Users/anaconda/lib/python3.6 /Users//anaconda/lib/python3.6/lib-dynload /Users/anaconda/lib/python3.6/site-packages /Users/anaconda/lib/python3.6/site-packages/Sphinx-1.5.6-py3.6.egg /Users/anaconda/lib/python3.6/site-packages/aeosa
私のMacのPython3.6.1では上記のようなpathになっています。pathは上から順番に検索していき、1番最初に見つけたファイルを使用します。そのため、カレントディレクトリに標準ライブラリにあるモジュールと同じ名前のファイルを作ってしまうと標準ライブラリがインポートできない問題が発生するので気をつけましょう。
標準ライブラリ
標準ライブラリとは、Pythonをインストールした時に同時にインストールされるモジュールを集めたファイル群のことです。標準ライブラリには役立つものがとても多いので積極的に使っていきましょう。
最後に
お疲れ様でした。今回は短いですがここまでです。次回はいよいよクラスの定義です。