6章では、データと処理を一体化させた「オブジェクト」というパワフルな概念を学び、自分でプログラムの「部品」を設計する方法を知りましたね。しかし、プログラミングの醍醐味は、必ずしもすべての部品を自分で一から作ることにあるわけではありません。もし、車輪を再発明する必要がないとしたら?もし、世界中の天才たちが作り上げた超高性能な部品を、あなたのプログラムに自由に組み込めるとしたら?
今回は、そうした先人たちの知恵の結晶である「部品」を、自分のプログラムで活用する方法を学んでいきます。この章をマスターすれば、あなたのPythonでできることの範囲は、文字通り無限に広がりますよ!
プログラムの世界の「部品」たち
あなたが何か大きなものを作ろうとするとき、例えば家を建てるところを想像してみてください。まさか、釘の一本一本、窓ガラスの一枚一枚を、砂や鉄鉱石から自分で作ったりはしませんよね。ほとんどの場合、規格化された釘や窓ガラスを建材メーカーから購入してきて、それらを組み合わせて家を建てるはずです。
プログラミングも全く同じです。複雑な計算、ウェブサイトとの通信、データのグラフ化といった一般的な処理は、すでに誰かが最高の品質の「部品」として作り上げてくれています。私たちの仕事は、これらの優れた既製品の部品を見つけ出し、賢く組み合わせて、自分の目的を達成することなのです。
Pythonでは、これらの「部品」はいくつかの種類に分かれています。一番身近なものから順番に見ていきましょう。
意識せずに使っている「組み込み関数」
実は、あなたはすでに最も基本的な部品を使いこなしています。それが「組み込み関数」です。
print() や len()、type()、sum() といった、これまで何気なく使ってきたこれらの関数は、Pythonをインストールしたその瞬間から、特に何も準備しなくても使えるようになっています。
これらは、ドライバーやハンマーのように、どんなプログラムを作る上でも必要になるであろう、最も基本的で汎用的な道具(関数)たちです。Pythonが最初から用意してくれている、いわば「標準装備のツールセット」だと考えてください。
専門ツールセット「モジュール」
基本的なツールセットだけでは、専門的な作業はできませんよね。数学の特殊な計算がしたくなったり、ランダムな数字を扱いたくなったりすることもあるでしょう。そんな時に登場するのが「モジュール」です。
モジュールとは、関連する関数やクラス(設計図)を一つのファイルにまとめたものです。Pythonには、こうした専門的なモジュールが最初からたくさん用意されています(これらを標準ライブラリと呼びます)。
ただし、組み込み関数と違って、モジュールは使う前に「これからこの道具箱(モジュール)を使いますよ!」と、プログラムに宣言してあげる必要があります。そのための命令が import です。
例えば、数学的な計算を色々詰め込んだ math モジュールを使ってみましょう。
# mathモジュールをプログラムに読み込む
import math
# mathモジュールの中にある円周率π(パイ)というデータを使ってみる
print(math.pi)  # 3.141592653589793 と表示される
# mathモジュールの中にあるsqrtという関数(平方根を計算する)を使ってみる
result = math.sqrt(2) # 2の平方根を計算
print(result)   # 1.4142135623730951 と表示される
import math と書くことで、math という名前の道具箱が使えるようになります。そして、その中の道具を使うには math.pi や math.sqrt() のように、モジュール名.道具名 という形で指定します。
このように、import は、あなたのプログラムに新たな機能を追加するための魔法の呪文なのです。
巨大な道具箱「パッケージ」
モジュールがたくさん増えてくると、それらを整理整頓したくなりますよね。「これは画像処理用」「これは音声処理用」というように。「パッケージ」は、まさにそのための仕組みです。
パッケージとは、複数のモジュールをディレクトリ(フォルダ)構造でまとめたものです。大きな工具箱の中に、さらに「ネジ類」「釘類」といった小さな引き出し(モジュール)が入っているのをイメージしてください。
これにより、大規模で複雑なライブラリを、系統立てて管理することができるのです。私たちはパッケージの中から、フォルダ名.ファイル名 のようにして、目的のモジュールをピンポイントで指定して使うことができます。
Pythonの真髄!「外部ライブラリ」
標準ライブラリだけでも非常に多くのことができますが、Pythonの本当の力はここから始まります。それが「外部ライブラリ」(サードパーティライブラリ)の存在です。
外部ライブラリとは、世界中の企業や個人開発者が作成し、インターネット上で公開してくれている、超高性能なモジュールやパッケージ群のことです。データ分析の専門家が作った統計解析ライブラリ、ウェブのプロが作ったネットワーク通信ライブラリ、AI研究者が作った機械学習ライブラリなど、ありとあらゆる分野の最高のツールが揃っています。
これらの外部ライブラリを利用するには、まず自分のコンピュータにそれらをインストールする必要があります。そのための専用ツールが pip(ピップ) です。pip はPythonのパッケージ管理システムで、コマンドプロンプトやターミナルといった黒い画面で、次のように命令を打ち込むことでライブラリをインストールできます。
pip install ライブラリ名例えば、requests という、ウェブサイトの情報を取得するのに非常に人気のあるライブラリをインストールするには、次のようにします。
pip install requestsインストールが完了すれば、あとは標準ライブラリのモジュールと同じように import requests と書くだけで、そのライブラリが持つ強力な機能を自分のプログラムで使えるようになります。
外部ライブラリの圧倒的なパワー
では、requests ライブラリを使うと、どれほど便利になるのでしょうか? 例えば、「GoogleのトップページのHTML(ウェブサイトの設計図)を取得する」というプログラムを書いてみましょう。
requests を使うと、たったこれだけです。
import requests
# アクセス先のURL(BBC) に指定します
target_url = 'https://www.bbc.com'
print(f"{target_url} にアクセスします...")
try:
    # たった1行で、指定したWebサイトの情報を取得!
    response = requests.get(target_url)
    
    # 取得が成功したか確認 (失敗したらエラーを発生させます)
    response.raise_for_status() 
    # 取得したHTMLの中身を表示(最初の500文字だけ)
    print("\n--- 取得したHTML(冒頭) ---")
    print(response.text[:500])
    print("-------------------------")
except requests.exceptions.RequestException as e:
    print(f"エラーが発生しました: {e}")
実行すると、あなたのターミナルにGoogleのHTMLソースコードがズラッと表示されるはずです。 もしこれを標準ライブラリ(urllibなど)だけで書こうとすると、接続の管理、エラーの処理、データのエンコーディング(文字化け対策)など、もっと多くのことを自分で書かなければならず、コードは数倍に膨れ上がります。
requests は、そうした面倒な処理をすべて裏側で引き受けてくれ、「Webサイトの情報を取る」という本質的な部分を、私たちにたった1行のコード(requests.get(...))で実行させてくれるのです。
この「車輪の再発明(みんながやっている面倒なことを、自分でもう一度作ること)をしなくてよい」という強力なサポートこそが、外部ライブラリの真髄です。
この外部ライブラリの膨大で豊かな生態系こそが、Pythonがデータ分析からWeb開発、AI研究まで、あらゆる分野で世界中の開発者に愛用される最大の理由の一つなのです。
まとめ:巨人の肩の上に立とう!
お疲れ様でした!今回は、プログラムの部品を活用する方法について学びました。
- 組み込み関数: 何も準備しなくても使える、基本的な道具。
 - モジュール: 専門的な関数群をまとめたファイル。
importで読み込んで使う。 - パッケージ: 複数のモジュールをフォルダで整理したもの。
 - 外部ライブラリ: 世界中の開発者が作った高性能な部品。
pipでインストールして使う。 
「巨人の肩の上に立つ」という言葉があります。これは、先人たちが築き上げた偉大な業績の上に立つことで、私たちはより遠くまで見通すことができる、という意味です。モジュールやライブラリを活用することは、まさにこの言葉をプログラミングで実践することに他なりません。すべてを自分で作ろうとせず、優れた部品を積極的に活用する。それが、優れたプログラマーへの近道です。
さあ、これであなたはPythonの基礎知識と、その可能性を無限に広げる方法をすべて手に入れました。