Pythonのimport文とは?モジュールを使うために必須な理由と基本の使い方
Pythonのコード内でパッケージやモジュールを利用するには、まずそのモジュールを利用可能な状態にしておく必要があります。これを行うのがimport文です。
Pythonでは「定義されていないもの」は使えない
Pythonでは、まだ定義されていない名前を参照することはできません。ただし、一部の機能は最初から組み込まれており、int や float などの基本型はいつでも自由に使えます。
しかし、実際にやりたい処理の多くは、標準ライブラリや外部パッケージの力を借りる必要があります。たとえば、三角関数の余弦(コサイン)を計算したい場合、math モジュールをインポートせずに math.cos(0) を実行すると、NameError が発生してしまいます。
エラーが発生する例
>>> math.cos(0) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'math' is not defined
このエラーは、「math という名前が定義されていない」ことを意味しています。Pythonインタプリタは、math モジュールを読み込むよう指示されるまで、その存在を知りません。
import文で解決する
import math を実行してから再度呼び出すと、正しく結果が得られます。
>>> import math >>> math.cos(0) 1.0
import文の主な書き方
import文にはいくつかのバリエーションがあり、用途に応じて使い分けられます。
- モジュール全体をインポート:
import math—math.cos(0)のようにモジュール名を付けて関数を呼び出します。 - 特定の関数だけをインポート:
from math import cos—cos(0)のように直接呼び出せます。 - 別名(エイリアス)を付けてインポート:
import numpy as np— 長いモジュール名に短い別名を付けられます。
まとめ
Pythonでは、使いたいモジュールやパッケージは事前にimport文で読み込んでおく必要があります。「NameError: name 'xxx' is not defined」というエラーが出たら、必要なモジュールをインポートし忘れていないかまず確認しましょう。これはPythonプログラミングにおける最も基本的なルールの一つです。
-
Pythonのimport文で複数のモジュールを一度にインポートする方法
Pythonでは、1つのimport文で複数のモジュールをまとめてインポートできます。方法はとてもシンプルで、モジュール名をカンマ(,)で区切って記述するだけです。>>> import math, sys, os別名(エイリアス)を付けてインポートするインポートしたモジュールを別の名前で扱いたい場合は、各モジュール名の後に「as」を付け、続けて任意の別名を指定します。これにより、コード内では指定した別名でモジュールを参照できるようになります。>>> import math as Mathematics, sys as system文字列のリストから動的にイン
-
Pythonのassertステートメントとは?基本構文と使い方を解説
Pythonのassertステートメントとは Pythonのassertステートメントは、プログラム内で開発者が定義した条件(制約)が正しく満たされているかを確認するための仕組みです。主にデバッグ目的で使用され、スクリプトの冒頭などに記述して、前提条件が成り立っているかどうかを検証します。 基本構文 assertステートメントは、以下のような構文で記述します。 assert <some_test>, <message> この行は次のように読み解けます。「もし<some_test>がFalseと評価された場合、例外が発生し、<message>が出