Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

モジュールとパッケージが何かを学んだので、次はそれらをプログラムに取り込むさまざまな方法を見ていきましょう。

覚えておいてください:

  • モジュール は再利用できるコードを含む単一のPythonファイル(.py)です。
  • パッケージ__init__.py ファイルがあるフォルダー内の関連モジュールの集合体です。

インポートの主な目的は、コードを整理し、コピー&ペーストなしで簡単に再利用できるようにすることです。


パッケージやモジュール全体のインポート

最も一般的なインポート方法は、import キーワードを使う方法です。
例 — Python組み込みの math モジュールをインポート:

import math

インポートしたら、以下の構文でその機能にアクセスします:

module_name.function_name()

例:

print(math.sqrt(25))  # 5.0を返す

ここで、math.sqrt() は「math モジュールの sqrt 関数を使う」という意味です。

コツ: この方法はどの関数がどこから来たのか明確に示されるため、コードがわかりやすくなります。

特定の関数や変数だけをインポートする

また、from ... import ... を使ってモジュールから必要なものだけインポートすることもできます。

例 — sqrt 関数だけをインポート:

from math import sqrt

print(sqrt(25))  # 5.0を返す

この場合、math. を書かずに直接 sqrt() を呼び出せます。

注意: この方法はコードを短くできますが、多くをこの方法でインポートしすぎると、どの関数がどこから来たのか分かりにくくなります。

モジュールのすべてをインポートする(推奨されません)

* を使うとモジュールの関数や変数すべてを一括でインポートできます:

from math import *
print(sqrt(25))  # 5.0を返す

これが推奨されない理由:

  • 既存の変数や関数を警告なしに上書きしてしまうことがある。
  • 関数がどのモジュールから来たのかわかりにくくなる。
  • 大きなモジュールではプログラムが遅くなることもある。

重要!: 十分な理由があり、コード全体を管理できる場合を除き、from module import * は避けてください。


エイリアスを使ったインポート

モジュール名が長い、または頻繁に使う場合、as を使って短い別名(エイリアス)をつけられます。

例 — NumPyを np のエイリアスでインポート:

import numpy as np

x = np.array([1, 2, 3])

これで numpy. の代わりに np. を使ってNumPyの関数を呼び出せます。 これはPythonコミュニティでよく使われている慣習です。


インポート方法のまとめ

  • import module — 明確で完全な名前を毎回使う。
  • from module import function — 呼び出しが短くなるが明確さは少し下がる。
  • from module import * — 必要な場合以外は避ける。
  • import module as alias — 長い名前を短くしつつ明確さを保つ。

次のレッスンでは、ファイル操作について進みます。データを読み書きして、プログラムを終了しても情報を記憶させる方法を学びましょう。