Pythonの強力な機能の一つは、豊富な標準ライブラリやサードパーティ製ライブラリを活用できる点にあります。これらのライブラリ(「モジュール」と呼ばれる単位で提供されます)を利用するには、import 文を使って自分のスクリプトにその機能を読み込む必要があります。
import の方法にはいくつかのパターンがありますが、この記事では最も基本的で重要な3つの構文について解説します。
1. import <モジュール名>(標準的なインポート)
これは最も一般的で、推奨される方法です。モジュール全体を読み込みます。
この方法でインポートした場合、モジュール内の関数やクラスを利用するには、モジュール名.機能名 のように、必ずモジュール名を接頭辞(プレフィックス)として付ける必要があります。
例: datetime モジュール(日付や時刻を扱う)
# datetime モジュールをインポート
import datetime
# datetimeモジュール内の、datetimeクラスの、now()メソッドを呼び出す
current_time = datetime.datetime.now()
print(f"現在の日時: {current_time}")
print(f"年: {current_time.year}")
print(f"月: {current_time.month}")
実行結果例:
現在の日時: 2025-11-07 20:30:45.123456
年: 2025
月: 11
この方法は、どのモジュールの機能を使っているかが明確になる(datetime.now())ため、コードの可読性が高くなります。
2. from <モジュール名> import <機能名>
モジュール全体ではなく、その中の特定の関数、クラス、または変数だけを直接インポートする方法です。
この方法でインポートした場合、モジュール名. の接頭辞なしで、インポートした機能名を直接使用できます。
例: random モジュール(乱数を扱う)
random モジュールから、ランダムな整数を生成する randint と、リストからランダムに要素を選ぶ choice だけをインポートします。
# random モジュールから randint と choice のみをインポート
from random import randint, choice
# 'random.' の接頭辞は不要
random_number = randint(100, 200)
selected_item = choice(["リンゴ", "バナナ", "オレンジ"])
print(f"生成された乱数: {random_number}")
print(f"選ばれたアイテム: {selected_item}")
利点: コードが簡潔になります(random.randint ではなく randint と書ける)。 注意点: 複数のモジュールから同じ名前の機能をインポートすると、後からインポートしたもので上書きされてしまう(名前の衝突)可能性があるため、注意が必要です。
3. import <モジュール名> as <別名>(エイリアス)
モジュール名が非常に長い場合や、複数のモジュールで名前が似ていて区別しづらい場合に、インポート時に「別名(エイリアス)」を付ける方法です。
データ分析ライブラリの pandas を pd として、numpy を np としてインポートするのは、この構文を使ったPythonコミュニティの慣習です。
例: json モジュール(JSONデータを扱う)
json モジュールを js という短い別名でインポートします。
# json モジュールを 'js' という別名でインポート
import json as js
# JSON形式の文字列データ
user_data_string = '{"id": "U-001", "name": "Suzuki", "is_admin": false}'
# 'json.loads' の代わりに 'js.loads' を使用
user_data = js.loads(user_data_string)
print(f"ユーザーID: {user_data['id']}")
print(f"ユーザー名: {user_data['name']}")
この方法も、js.loads のように別名を接頭辞として使用します。
まとめ
Pythonでモジュールをインポートする3つの基本パターンを解説しました。
import datetime:- 基本形。
datetime.datetime.now()のように使う。 - 名前の衝突が起きず、安全で読みやすい。
- 基本形。
from random import randint:- 特定の機能だけをインポート。
randint()のように使う。 - コードは短くなるが、名前の衝突に注意。
- 特定の機能だけをインポート。
import json as js:- 別名を付ける。
js.loads()のように使う。 - モジュール名が長い時や、慣習(
import pandas as pd)で使われる。
- 別名を付ける。
基本的には 1. import <モジュール名> を使用し、必要に応じて 2 や 3 の方法を選択することが推奨されます。
