PYTHON MEBY

Pythonで関数を別モジュールからインポート(import文)

この記事では、Pythonで別モジュールから関数をインポートして利用する方法を解説します。import文の基本的な使い方から、様々なインポート方法、そしてパッケージからのインポート方法まで、具体的な例を交えて説明します。

目次

import文の基本

最も基本的なインポート方法は、`import`文を使用します。モジュール名を書くと、そのモジュールのすべての関数が利用可能になります。

import math

print(math.sqrt(25)) # 5.0

この例では、`math`モジュールをインポートし、`sqrt()`関数を使用して25の平方根を計算しています。`math`モジュール内の関数はすべて`math.`を付けて呼び出します。

様々なインポート方法

特定の関数だけをインポートしたり、モジュール名に別名を付けたりすることもできます。

from math import sqrt

print(sqrt(25)) # 5.0

import math as m

print(m.sqrt(25)) # 5.0

最初の例では、`sqrt()`関数だけをインポートしているので、`math.`を付ける必要がありません。2番目の例では、`math`モジュールに`m`という別名を付けています。

パッケージからのインポート

パッケージは、複数のモジュールをまとめたものです。パッケージから関数を利用するには、パッケージ名とモジュール名を指定します。

# package_name/module_name.py に関数があるとする
from package_name.module_name import my_function

my_function()

この例では、`package_name`パッケージ内の`module_name`モジュールから`my_function`関数をインポートしています。パッケージ内のモジュールの構造に合わせて、インポート文を記述する必要があります。`package_name`ディレクトリに`__init__.py`ファイルがあることを確認してください。

よくある問題と解決策

インポート時に発生する可能性のある問題と、その解決策を紹介します。

  • `ModuleNotFoundError`:モジュールが見つからない場合。パスが間違っているか、モジュールがインストールされていない可能性があります。`pip install <module_name>`でモジュールをインストールしてください。
  • `ImportError`:モジュールは存在するが、インポートできない場合。依存関係の問題や、モジュールの記述にエラーがある可能性があります。
  • 循環インポート:モジュールAがモジュールBをインポートし、モジュールBがモジュールAをインポートしている場合。モジュールの依存関係を見直し、適切に修正してください。

関連記事