1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonモジュールについて

Posted at

今回は、モジュールについて学習したので、ここに記す。

モジュールとは

Pythoにおけるモジュールとは、実行可能なPythonコードをまとめた**ファイル(拡張子 .py)**のことを指す。

基本的には、スクリプトの最初にimport文を表記して、モジュールを利用する。

モジュールの基本

モジュールは以下のような形で利用する。

import文
import lesson_packege.utils

from lesson_packege.tools import utils

from lesson_packege.utils import say_twice

上記三つの書き方が存在しする。

まず一つ目の書き方の実行順序として、同じディレクトリにあるlesson_packegeというフォルダを探し、その中のutilsというスクリプトをimportしてutilsに記されている関数などを使うことができる。

二つ目の書き方は、同じディレクトリ内にあるlesson_packegeというフォルダにアクセスし、その中のtoolsというフォルダの中のutilsというスクリプトにアクセスし、インポートする。
この書き方の利点はアクセスする経路をすべて記述されているので、インポートしたものが、どこからきているか一目でわかる。

三つ目の書き方は、utils内にある関数のみを呼びだしている。

基本的には、わかりやすいように二つ目の書き方が推奨されている。

追記
from .. tools import utils

上記の書き方もあり、...の数に応じて、フォルダの階層を上げていく処理を行うが、わかりにくいので、基本的には使わない。

インポートエラーについて

Pythonのバージョンによって、使う予定のライブラリを使用できない場合がある。
その時にエラーを起こさないために、tryを使って未然に防ぐことができる。

import Error
try:
    from lesson_packege import utils
except ImportError:
    from lesson_packege.tools import utils

※事前にutilsを別の階層に入れてます。

上記の処理としては、同じディレクトリ内にあるlesson_packegeを探し、utilsをインポートしますが、utilsを別の階層に移動させたため見つからず、exceptの処理に回される。Import Error関数を使うことで、Import Errorが起きた時に処理をされ、toolsの中のutilsを探し、問題なくutilsをインポートできる。

ただし、Import Error以外のエラーが出た時には対応できない。

このように、パッケージをインポートするときに、tryを使って古いバージョンのパッケージをインポートして、もし失敗しても、exceptを使って新しいパッケージを書いておけば正常にプログラムを動かすことができる。

サードパーティーライブラリ

Pythonのサードパーティーライブラリとは、Python標準ライブラリ以外の外部で作られたモジュールのこと。
これを使用する場合は、pipを使ってインストールする。
ライブラリの詳細はPyPIで調べることができる。

注意点として

・標準ライブラリとサードバーティーのライブラリimport文の間には改行を入れる。

・基本的にimport文は上から標準ライブラリ、サードパーティー、自分たちのプロジェクトライブラリの順にimport文を書いていく。

ちなみに、pipなどでインストールされたものがどこに存在するのか、以下のコードを実行すれば見れる。

print(termcolor.__file__)

ライブラリ名.file

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?