Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのimport文とは?モジュールを使うために必須な理由と基本の使い方

Pythonのコード内でパッケージやモジュールを利用するには、まずそのモジュールを利用可能な状態にしておく必要があります。これを行うのがimport文です。

Pythonでは「定義されていないもの」は使えない

Pythonでは、まだ定義されていない名前を参照することはできません。ただし、一部の機能は最初から組み込まれており、intfloat などの基本型はいつでも自由に使えます。

しかし、実際にやりたい処理の多くは、標準ライブラリや外部パッケージの力を借りる必要があります。たとえば、三角関数の余弦(コサイン)を計算したい場合、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 mathmath.cos(0) のようにモジュール名を付けて関数を呼び出します。
  • 特定の関数だけをインポートfrom math import coscos(0) のように直接呼び出せます。
  • 別名(エイリアス)を付けてインポートimport numpy as np — 長いモジュール名に短い別名を付けられます。

まとめ

Pythonでは、使いたいモジュールやパッケージは事前にimport文で読み込んでおく必要があります。「NameError: name 'xxx' is not defined」というエラーが出たら、必要なモジュールをインポートし忘れていないかまず確認しましょう。これはPythonプログラミングにおける最も基本的なルールの一つです。

  1. Pythonのimport文で複数のモジュールを一度にインポートする方法

    Pythonでは、1つのimport文で複数のモジュールをまとめてインポートできます。方法はとてもシンプルで、モジュール名をカンマ(,)で区切って記述するだけです。>>> import math, sys, os別名(エイリアス)を付けてインポートするインポートしたモジュールを別の名前で扱いたい場合は、各モジュール名の後に「as」を付け、続けて任意の別名を指定します。これにより、コード内では指定した別名でモジュールを参照できるようになります。>>> import math as Mathematics, sys as system文字列のリストから動的にイン

  2. Pythonのassertステートメントとは?基本構文と使い方を解説

    Pythonのassertステートメントとは Pythonのassertステートメントは、プログラム内で開発者が定義した条件(制約)が正しく満たされているかを確認するための仕組みです。主にデバッグ目的で使用され、スクリプトの冒頭などに記述して、前提条件が成り立っているかどうかを検証します。 基本構文 assertステートメントは、以下のような構文で記述します。 assert <some_test>, <message> この行は次のように読み解けます。「もし<some_test>がFalseと評価された場合、例外が発生し、<message>が出