ITエンジニア ノイのブログ

ITエンジニアのノイです。 YouTubeで ITエンジニアのお勉強という学習用の動画を公開しています。チャンネル登録お願いします!https://m.youtube.com/channel/UCBKfJIMVWXd3ReG_FDh31Aw/playlists

モジュールのインポート

モジュールのインポート

Pythonではimport文を使って標準ライブラリやpipでインストールしたパッケージや自作のパッケージなどをインポートできます。

importの基本的な使い方

import math
print(math.radians(180))
# 3.141592653589793

仕様ではimport文のあとに複数のモジュールをカンマで区切って書くことができるが、PEP8では推奨されていません。

import os, sys

モジュールをインポートする順番

1.標準ライブラリ

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

3.ローカルライブラリ(自作のライブラリ)

PEP8には書かれていないが、グループ内はアルファベット順に並べられることが多です。

fromを使って、モジュールで定義された関数や変数、クラスなどを指定してインポートできます。

from math import pi

print(pi)
# 3.141592653589793

複数まとめてインポート

同じモジュールから複数の関数や変数などをまとめてインポートする場合はカンマで区切ります。

from math import pi, radians

print(pi)
# 3.141592653589793

print(radians(180))
# 3.141592653589793

ワイルドカード

ワイルドカード*を使うとモジュールで公開されているすべての関数や変数などがインポートされて使えるようになる。

from math import *

別名をつけてインポート

import ... as ...
from math import pi as PI 

print(PI)
# 3.141592653589793

NumPyやpandasなど、省略名でインポートするのが慣例となっているライブラリもあります。

import numpy as np
import pandas as pd

正しくインポートできない(エラーが発生する)場合

  • ModuleNotFoundError モジュールが見つからないというエラー。

ModuleNotFoundError: No module named 'xxx' 単純に名前が間違っているか、importの対象となるディレクトリのパスの指定が間違っている可能性があります。

  • AttributeError インポートしたモジュールに指定した属性がないというエラー。

AttributeError: module 'xxx' has no attribute 'yyy' 単純な名前間違いのほか、想定と異なるファイルがインポートされている可能性があります。

youtu.be