Pythonを学び始めて少し経つと、必ず出会うのが import os や import numpy as np といった謎の1行。これこそが、Pythonの圧倒的な生産性を支える「モジュール」の入り口です。
モジュールを使いこなせるようになると、ファイル操作・数学計算・データ分析・Web通信…と、本来なら何百行も書く必要がある処理が、たった数行で実現できるようになります✨ 自分でゼロから車輪を発明する必要がなくなり、本当にやりたいロジックの実装に集中できるようになる——それがPythonというエコシステムの最大の魅力です。
用語が似ていてややこしいので、まずはここをスッキリ整理しておきましょう。
.py)そのもの。中にクラスや関数、変数が定義されていて、外から呼び出して使えるようになっている「コードの部品」🧩つまり「ファイル → フォルダ → 大きなフォルダ」という階層関係。これさえ押さえておけば、ドキュメントを読むときも迷子になりません。
import モジュール名もっともシンプルな書き方。ソースコードの一番上にまとめて書くのが一般的です。
import os
import math
print(os.getcwd()) # カレントディレクトリの取得
print(math.sqrt(2)) # ルート2を小数で取得
呼び出すときは「モジュール名.関数名」「モジュール名.変数名」のようにドットでつなぎます。
as で別名をつけてコードを短く長いモジュール名を毎回書くのは面倒…そんなときは as で別名(エイリアス)を割り当てます。
import numpy as np
x = np.array([1, 2, 3])
y = np.array([11, 12, 13])
print(x + y) # ベクトル同士の加算 → [12 14 16]
NumPyを np、Pandasを pd と略すのは事実上の業界標準。慣例に従うとコードが読みやすくなります。
from ~ import ~ でピンポイントに取り出す階層が深くて呼び出しが長くなるときは from が便利。
from xxx.yyy.zzz import test_function
test_function() # 短くスッキリ呼べる
複数の関数をまとめて取り出したい場合はカンマで並べます。
from xxx.yyy.zzz import test_function, test2_function
from ~ import * は使わないのが鉄則「全部まとめてインポート」できる便利な構文ですが、名前の衝突に気づきにくくなるためPython公式でも非推奨。バグの温床になるので避けましょう⚠️
Pythonには最初から大量のモジュールが組み込まれています。代表例を実際に動かしてみるのが理解への近道です。
import os
current_dir = os.getcwd() # 作業ディレクトリを取得
print(current_dir)
print(os.listdir(current_dir)) # ディレクトリ内のファイル一覧
カレントディレクトリの取得や、その中にあるファイル一覧の取得など、日常の自動化スクリプトでフル活用できます。
import math
print(math.sqrt(2)) # 1.4142135623730951
sqrt(平方根)、pi(円周率)、log(対数)など、数値計算に必要な関数が一通り揃っています。
他にも datetime(日時操作)、json(JSON処理)、random(乱数)、re(正規表現)など、便利なモジュールが標準で大量に同梱されています。気になる人は公式ドキュメントの「Python 標準ライブラリ」ページを覗いてみてください👀
標準ライブラリにないものは、Pythonのパッケージ管理ツール pip でインストールできます。Python 3.4以降ならインストール時に標準でついてくるので、すぐに使えます。
Macならターミナル、Windowsならコマンドプロンプトやターミナルで以下を実行します。
# インストール
pip install numpy
# アンインストール
pip uninstall numpy
import numpy as np
x = np.array([1, 2, 3])
y = np.array([11, 12, 13])
print(x + y) # [12 14 16]
NumPyを使うと、多次元配列やベクトル・行列演算がたった数行で書けます。データ分析・機械学習・画像処理など、Pythonの「強さ」が際立つ領域では必須の存在です💪
同じように pandas(表データ処理)、requests(HTTP通信)、matplotlib(グラフ描画)、flask(Webアプリ)など、世界中の便利なパッケージが pip install 一発で手に入ります。
モジュールやパッケージは「カタログを知っている人ほど得をする」世界。手元に良書を置いて、快適な作業環境を整えると、習得スピードがぐっと上がります。
os・pathlib・re・openpyxl など、現場で使えるモジュールが満載。本稿の延長線で「自動化スクリプトを書ける自分」になりたい方の最初の一冊にぴったりです。
「ワイルドカードでのインポートは避けよ」「相対インポートと絶対インポートの使い分け」など、import周りのベストプラクティスもしっかりカバー。中級者へのステップアップに最適です。
NumPyやPandasの作者ウェス・マッキニー氏による定番書。pip install で導入したパッケージを「実戦投入」できるレベルまで引き上げてくれます。
静かでスムーズな打鍵感とバックライトで、夜の学習も快適。サンプルコードを実際に打ち込み、importを書き換えながら挙動を確かめる学習スタイルとの相性が抜群です。
左にエディタ、右に公式ドキュメントやREPLを並べて表示できるだけで、importしたモジュールの使い方を調べるスピードが段違いに。USB-C一本で接続できるモデルなら机もスッキリします。
必須ではありませんが、PEP 8(Pythonの公式スタイルガイド)でもファイル先頭にまとめて書くことが推奨されています。どのモジュールに依存しているかが一目でわかり、レビューやデバッグが格段に楽になります。
使っているPython環境の site-packages ディレクトリにインストールされます。プロジェクトごとに環境を分けたい場合は、venv や poetry などの仮想環境ツールを使うのが定石です。
from A import func と from B import func を両方書くと、後から書いたほうで上書きされてしまいます。安全策としては import A, import B と書いて A.func(), B.func() のようにフルパスで呼び分けるのがおすすめです。
from module import * は本当にダメ?動作はしますが、どの関数がどこから来たのか追えなくなり、名前の衝突にも気づきにくくなります。本当に対話的なREPLなど一時的な用途以外では使わないのが安全です。
まずはPython公式の標準ライブラリ一覧をざっと眺めるのがおすすめ。外部パッケージは PyPI(Python Package Index)で検索できます。「やりたいこと + Python ライブラリ」で検索すると、定番パッケージが見つかることも多いです。
Pythonの強さは、モジュール・パッケージ・ライブラリという形で世界中の便利なコードを一行で呼び出せるところにあります。import・from ~ import ~・as による別名指定、そして pip install による外部パッケージの導入。この4つを押さえれば、ファイル操作も、数学計算も、データ分析も、思いついたその日に試せる環境がすぐに整います。
大切なのは、すべてを暗記することではなく「どんなモジュールがあるか」を知って、必要なときに公式ドキュメントを引ける状態を作ること。良書と快適な作業環境を味方につければ、その引き出しは自然と増えていきます。
今日から、あなたのPythonスクリプトのいちばん上に書く import 文は、もう「おまじない」ではなく「世界へのドア」です。さあ、扉を開けてみましょう🚪🚀