Pythonを書き始めると、すぐに「import」という言葉に出会います。import math や from datetime import datetime など、サンプルコードにはほぼ必ず登場しますが、「なぜ必要なの?」「importとfrom importは何が違うの?」と疑問に思った方も多いのではないでしょうか。
この記事では、Pythonのimport文の基本から、標準ライブラリの使い方、自分でモジュールを作る方法、そして if __name__ == "__main__": の意味まで、初心者向けに順を追って解説します。
importとは?モジュールを読み込む仕組み
Pythonには、よく使う機能を部品としてまとめた「モジュール」という仕組みがあります。importは、そのモジュールを自分のプログラムで使えるように読み込む命令です。たとえば、数学の計算をまとめた math モジュールを使ってみましょう。
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592653589793math.sqrt のように「モジュール名.機能名」と書くことで、モジュール内の関数や変数を呼び出せます。
importの3つの書き方
1. import モジュール名
最も基本的な書き方です。使うときは必ずモジュール名を前につけます。どのモジュールの機能か一目で分かるので、読みやすいコードになります。
2. from モジュール名 import 機能名
from math import sqrt, pi
print(sqrt(25)) # 5.0
print(pi) # 3.141592653589793必要な機能だけを取り出す書き方です。モジュール名を省略して書けるので短くなりますが、他の変数名とぶつからないよう注意が必要です。
3. import モジュール名 as 別名
import datetime as dt
print(dt.date(2026, 1, 1)) # 2026-01-01長い名前に短い別名をつける書き方です。データ分析でよく見る import numpy as np もこの形です。
ここまでで、基本的な使い方は押さえられました。ちなみに、日付を扱う datetime モジュールについては datetimeで日付・時刻を扱う方法 で、乱数を扱う random モジュールは randomモジュールの使い方 で詳しく解説しています。
独学で伸び悩んだら:モジュールや関数の設計は、独学だと「これで合っているのか」が分かりにくい分野です。学習の進め方に迷ったら、Pythonが学べるプログラミングスクールの比較記事も参考にしてみてください。
よく使う標準ライブラリの例
Pythonには、追加インストール不要で使える「標準ライブラリ」が豊富に用意されています。代表的なものを表にまとめます。
math:平方根や三角関数などの数学計算random:乱数の生成、ランダムな選択datetime:日付・時刻の取得と計算json:JSONデータの読み書きos:ファイルやフォルダの操作、環境変数の取得sys:Python実行環境の情報、コマンドライン引数
たとえば os を使うと、カレントディレクトリを取得できます。
import os
print(os.getcwd()) # 例: /home/user/project自作モジュールを作って読み込む
importできるのは標準ライブラリだけではありません。自分で書いた .py ファイルも、そのままモジュールとして読み込めます。同じフォルダに次の2つのファイルを作ってみましょう。
まず、greet.py です。
# greet.py
def hello(name):
return f"こんにちは、{name}さん!"次に、これを読み込む main.py です。
# main.py
import greet
print(greet.hello("太郎")) # こんにちは、太郎さん!python main.py を実行すると、greet.py の関数が呼び出されます。関数の作り方に不安がある方は、関数(def)の作り方を先に読んでおくと理解しやすいです。
if __name__ == “__main__”: の意味
Pythonのコードで、次のような記述を見たことはありませんか?
# greet.py
def hello(name):
return f"こんにちは、{name}さん!"
if __name__ == "__main__":
print(hello("テスト"))__name__ は、Pythonが自動で用意する特別な変数です。そのファイルを直接実行したときは "__main__" が入り、他のファイルからimportされたときはモジュール名(ここでは "greet")が入ります。
python greet.pyと直接実行 →print(hello("テスト"))が動くmain.pyからimport greet→ 何も表示されない(関数が使えるだけ)
つまり、このif文は「このファイルが直接実行されたときだけ動かしたい処理」を書く場所です。モジュール単体の動作確認用コードを残しておきたいときに便利です。
よくあるエラーと対処法
ModuleNotFoundError
ModuleNotFoundError: No module named 'xxx' は、モジュールが見つからないときのエラーです。原因は主に次の3つです。
- モジュール名のスペルミス(大文字・小文字も区別されます)
- 外部ライブラリが未インストール(
pip install ライブラリ名で導入します) - 自作モジュールが別のフォルダにあり、実行場所から見えていない
エラーの読み方や対処の基本は 例外処理(try-except)の解説 も参考になります。
自作ファイル名が標準ライブラリと同じ
自作ファイルに random.py や math.py といった名前をつけると、標準ライブラリではなく自分のファイルが読み込まれ、思わぬエラーの原因になります。標準ライブラリと同じ名前は避けましょう。
もっと効率的にPythonを学びたい人へ
importやモジュールの仕組みが分かると、書けるプログラムの幅が一気に広がります。一方で、「エラーの原因が自分では分からない」「次に何を学べばいいか迷う」といった壁にぶつかる方も少なくありません。そんなときは、マンツーマンで質問できる環境を使うのも一つの方法です。未経験からPythonを学べ、無料カウンセリングで相談できるスクールもあります。
※本記事には広告(アフィリエイトリンク)を含みます。
Pythonプログラミング|マンツーマンレッスンで初めてをプロに育てる【Python Winner】![]()
資格取得を目標にするなら、Python資格の教材比較記事も合わせてご覧ください。
まとめ
- importは、モジュール(部品)を読み込んで使えるようにする命令
- 書き方は
import、from ... import、import ... asの3種類 - 標準ライブラリは追加インストール不要で、
math・random・osなどがある - 自作の
.pyファイルもモジュールとしてimportできる if __name__ == "__main__":は、直接実行されたときだけ動かす処理を書く場所- ModuleNotFoundErrorはスペル・未インストール・ファイルの場所を確認する
まずは標準ライブラリのimportから試して、慣れてきたら自作モジュールにも挑戦してみてください。
ナノトイラボ 