本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。
第18回|Pythonのモジュールとは?importで機能を増やす方法をやさしく解説|はじめてのPython

はじめてのPython | 第18回
1. はじめに
この回では、モジュールを使ってPythonの機能を増やす方法を学びます。前回は、スコープとローカル変数を確認しました。
Pythonには、最初から多くの機能が用意されています。それらを必要に応じて読み込んで使うと、自分で一から全部を書かなくても、さまざまな処理を行えます。
2. この回で学ぶこと
- モジュールとは何か
importの基本- 標準ライブラリとは何か
randomの使い方datetimeの使い方
3. 概念の説明
モジュールは、機能をまとめたPythonのファイルです。必要なモジュールを読み込むことで、その中にある機能を使えるようになります。
モジュールを読み込むときは、import を使います。
import randomこのコードは、random というモジュールを使えるようにするという意味です。
Pythonには、最初から使えるモジュールが多く用意されています。このような標準で用意されている機能の集まりを、標準ライブラリと呼びます。
たとえば、乱数を使いたいときは random、日付や時刻を扱いたいときは datetime を使えます。
random モジュールには、乱数を作る機能があります。
import random
number = random.randint(1, 6)
print(number)random.randint(1, 6) は、1から6までの整数を1つ返します。実行するたびに結果が変わる可能性があります。
datetime モジュールには、日付や時刻を扱う機能があります。
import datetime
now = datetime.datetime.now()
print(now)datetime.datetime.now() は、実行した時点の現在の日時を返します。そのため、表示される内容は実行した日時によって変わります。
モジュールを使うときは、import したあとで モジュール名.機能名 の形で書くのが基本です。
4. サンプルコード
次のコードを見てください。
import random
import datetime
number = random.randint(1, 10)
now = datetime.datetime.now()
print("乱数:", number)
print("現在の日時:", now)このコードでは、random で乱数を作り、datetime で現在の日時を取得しています。2つのモジュールを読み込むことで、別々の機能を同じプログラムで使えます。
5. 実行手順
まず、module_sample.py というファイルを作ります。
touch module_sample.pymodule_sample.py をエディターで開き、次のコードを書いて保存します。
import random
import datetime
number = random.randint(1, 10)
now = datetime.datetime.now()
print("乱数:", number)
print("現在の日時:", now)保存したら、ターミナルで次のコマンドを実行します。
python3 module_sample.py実行結果は次のようになります。
乱数: 7
現在の日時: 2026-04-13 10:30:00.123456乱数 の値と 現在の日時 は、実行のたびに変わる可能性があります。特に日時は、実行した時点の値が表示されます。
6. コードの読み方
import randomは、randomモジュールを読み込んでいます。- これによって、
randomの機能を使えるようになります。 import datetimeは、datetimeモジュールを読み込んでいます。- これによって、日時を扱う機能を使えるようになります。
number = random.randint(1, 10)は、1から10までの整数を1つ作り、その値をnumberに入れています。random.randintのように、モジュール名と機能名を.でつないで書きます。now = datetime.datetime.now()は、現在の日時を取得してnowに入れています。- このコードでは、
datetimeモジュールの中にあるdatetimeという機能を使い、そのnow()を呼び出しています。 print("乱数:", number)とprint("現在の日時:", now)は、それぞれ取得した値を表示しています。
7. 初学者がつまずきやすい点
- モジュールは使う前に
importが必要 randomやdatetimeは標準ライブラリの一部- モジュールを読み込んだあとで
モジュール名.機能名と書く random.randint(1, 10)の結果は毎回同じとは限らないdatetime.datetime.now()の結果は実行時刻によって変わる
特に、random を読み込んだだけでは数字は出ません。random.randint(...) のように、モジュールの中の機能を呼び出す必要があります。
また、日時は固定の値ではありません。記事の実行例と同じ数字にならなくても正常です。
8. よくあるエラー
1つ目は、import を書かずにモジュールの機能を使おうとする場合です。
number = random.randint(1, 10)
print(number)このときは、次のようなエラーになります。
NameError: name 'random' is not definedrandom を使う前に、import random が必要です。
2つ目は、モジュール名を付けずに機能だけを書いてしまう場合です。
import random
number = randint(1, 10)
print(number)このときも、次のようなエラーになります。
NameError: name 'randint' is not defined今回の基本形では、random.randint(1, 10) のようにモジュール名を付けて書きます。
3つ目は、ファイル名を標準ライブラリと同じにしてしまう場合です。
たとえば、作業用ファイルを random.py や datetime.py という名前にすると、標準ライブラリではなく自分のファイルが読み込まれることがあります。初学者の段階では、このような名前は避けるほうが安全です。
9. 練習用コード
次のコードを practice_module.py として保存して実行してください。
import random
import datetime
dice = random.randint(1, 6)
today = datetime.datetime.now()
print("サイコロ:", dice)
print("日時:", today)実行したあとで、サイコロの数字と日時が表示されることを確認してください。
余裕があれば、random.randint(1, 100) に変えて、1から100までの数字が出るようにしてください。
10. この回で理解しておくこと
- モジュールは機能をまとめたPythonのファイル
importでモジュールを読み込む- 標準ライブラリは最初から使える機能の集まり
randomで乱数を作れるdatetimeで現在の日時を扱える
11. まとめ
今回は、モジュールを使って機能を増やす基本を確認しました。import を使うと、Pythonに最初から用意されている便利な機能を使えるようになります。
random と datetime は、標準ライブラリの代表的な例です。まずは、モジュールを読み込み、モジュール名.機能名 の形で使う流れに慣れてください。
12. 次回予告
次回は、ファイルを読み込む方法を学びます。open や with を使って、テキストファイルの内容を扱う基本を確認します。
復習してみよう
復習したい方は、こちらもあわせてご覧ください。










