結論から言うと、import は別の場所にある機能を、今書いているPythonファイルから使えるようにする仕組みです。
Pythonでは、すべての処理を1つのファイルに書く必要はありません。
日付を扱う datetime、ファイルパスを扱う pathlib、自分で作った別ファイルなどを、必要な場所で読み込んで使えます。
この記事では、import の基本的な動きと、実務で意識したい読み方を整理します。
この記事でわかること
完成コード
完成コードは次の通りです。
import math
from datetime import date
def calculate_circle_area(radius: float) -> float:
return radius * radius * math.pi
def create_report_title(name: str) -> str:
today = date.today()
return f"{today.isoformat()}_{name}_report"
area = calculate_circle_area(3)
title = create_report_title("sales")
print(f"円の面積: {area:.2f}")
print(f"レポート名: {title}")コードのポイント
このコードでは、標準ライブラリの math と datetime を読み込んでいます。
import mathでmathモジュール全体を読み込んでいますmath.piのように、モジュール名を付けて値を使っていますfrom datetime import dateでdateだけを直接読み込んでいます- 読み込んだ機能を、計算処理やファイル名作成の中で使っています
import は、機能をコピーして貼り付けるためのものではありません。
必要な機能を参照できるようにして、コードを小さく分けやすくするための仕組みです。
コードを順番に説明します
主要な処理を分けて説明します。
1. モジュールを読み込みます
import math
from datetime import dateimport math は、math というモジュールを読み込みます。
モジュールとは、Pythonの関数や変数をまとめたファイルのようなものです。
from datetime import date は、datetime モジュールの中から date だけを取り出して使う書き方です。
どちらもよく使われますが、最初は import モジュール名 の形から慣れると、どこから来た機能なのか追いやすくなります。
2. モジュール名を付けて値を使います
def calculate_circle_area(radius: float) -> float:
return radius * radius * math.piこの部分では、math.pi を使って円周率を参照しています。pi だけではなく math.pi と書くことで、「これは math モジュールにある値です」と分かります。
実務では、同じ名前の関数や変数が複数の場所に出てくることがあります。
モジュール名を付けて使うと、どの機能を使っているのか読み取りやすくなります。
3. 読み込んだ機能を処理の中で使います
def create_report_title(name: str) -> str:
today = date.today()
return f"{today.isoformat()}_{name}_report"ここでは、date.today() で今日の日付を取得しています。from datetime import date と書いているため、datetime.date.today() ではなく date.today() と書けます。
短く書ける一方で、何でも直接読み込むと、どのモジュールの機能なのか分かりにくくなることもあります。
チームで読むコードでは、短さだけでなく読みやすさも考えて選ぶことが大切です。
実務で使うときのポイント
実務では、import はファイルの先頭にまとめて書くことが多いです。
先頭を見るだけで、そのファイルがどのライブラリや自作モジュールに依存しているか分かるためです。
特に次のような場面では、import の読みやすさが保守性に直結します。
- 標準ライブラリを使って日付、ファイル、CSV、JSONを扱う
- 自分で作った処理を別ファイルに分けて読み込む
- 外部ライブラリを使うツールを作る
- エラー調査で、どのファイルの機能が呼ばれているか確認する
第5章では、このあとモジュール分割や自作モジュールを扱います。import の基本を理解しておくと、ファイルを分けたあとも「どこに何があるか」を追いやすくなります。