プログラミング

Step 17: Pythonの便利道具「標準ライブラリ」を使ってみよう

Step 17: Pythonの便利道具「標準ライブラリ」を使ってみよう

概要

フリーランスエンジニア スリーネクスト

Pythonの「電池付属」という哲学を支える「標準ライブラリ」を解説します。追加インストール不要で、importするだけで使える便利な組み込みモジュール群について、その概念と使い方を学びます。

乱数を扱うrandom、日付と時刻を操作するdatetime、ファイル操作を行うosといった、実用性の高いモジュールを具体的なコードと図解で紹介。さらに、無数の機能が眠る公式ドキュメントの活用法も示し、自走するための第一歩をサポートします。

目次
「ゼロから始めるPython学習」各ステップのタイトル案
ゼロから始めるPython学習 STEP20目次

プログラミング未経験者向けPython入門講座。環境構築から変数、if文、for文、関数といった基本までを20のステップでわかりやすく解説します。自分のペースで一歩ずつ着実に学び、プログラミングの第一歩を踏み出しましょう!

続きを見る

はじめに

前回のステップでは、機能や関数をまとめた「モジュール」と、それを自分のプログラムに読み込むimportについて学びました。実は、Pythonには、インストールした時点で既にたくさんの便利なモジュールが「おまけ」として付属しています。

この、Pythonに最初から組み込まれているモジュール群のことを標準ライブラリ (Standard Library) と呼びます。

標準ライブラリとは?

標準ライブラリは、Pythonという言語の「公式ツールボックスセット」です。

スマートフォンに例えると、買ったばかりのスマホにも最初から時計、電卓、カレンダー、天気などの便利なアプリが入っていますよね。標準ライブラリは、まさにその「最初から入っている便利アプリ」のようなものです。これらは追加でインストールする必要がなく、importするだけですぐに使うことができます。

Pythonが「Batteries Included(電池付属)」という哲学を掲げているのは、この豊富な標準ライブラリのおかげです。プログラミングでよく遭遇する様々な課題(日付の計算、乱数の生成、ファイルの操作など)を解決するための道具が、あらかじめ用意されているのです。

使ってみよう!便利な標準ライブラリの例

標準ライブラリには非常に多くのモジュールがありますが、ここでは特に使用頻度が高く、初心者にも分かりやすいものをいくつかピックアップして紹介します。

randomモジュール:ランダムなデータを扱う

randomモジュールは、乱数を生成したり、リストの中からランダムに要素を選んだりする機能を提供します。ゲーム、シミュレーション、データ分析など、幅広い用途で活躍します。

主な関数:

  • random.randint(a, b): aからbまでの範囲(abを含む)のランダムな整数を一つ返す。
  • random.choice(シーケンス): リストなどのシーケンスからランダムに要素を一つ選んで返す。

コード例:

import random

# 1から6までのランダムな整数を生成(サイコロを振るイメージ)
dice_roll = random.randint(1, 6)
print(f"サイコロの目は {dice_roll} です。")

# 候補のリストからランダムに一つ選ぶ(おみくじを引くイメージ)
fortunes = ["大吉", "中吉", "小吉", "凶"]
your_fortune = random.choice(fortunes)
print(f"今日の運勢は {your_fortune} です!")
graph TD
    A["プログラム開始"] --> B["import random"];
    subgraph "おみくじの処理"
        C["fortunes = ['大吉', '中吉', ... ]"];
        D["random.choice(fortunes)"];
        E["結果を一つ選ぶ"];
    end
    B --> C --> D --> E;
    E --> F["結果を表示"];
    F --> G["プログラム終了"];

datetimeモジュール:日付と時刻を扱う

datetimeモジュールは、現在の日付や時刻を取得したり、日付の計算を行ったりするための強力な機能を提供します。ログの記録、データのタイムスタンプ、予約システムの構築などで必須のモジュールです。

主な機能:

  • datetime.datetime.now(): 現在の日付と時刻を取得する。
  • strftime(フォーマット): 日付や時刻を、指定した書式の文字列に変換する。

コード例:

Python

import datetime

# 現在の日付と時刻を取得
now = datetime.datetime.now()
print(f"現在の正確な時刻: {now}")

# 人間が読みやすいフォーマットに変換して表示
# %Y: 4桁の年, %m: 2桁の月, %d: 2桁の日
# %H: 24時間表記の時, %M: 2桁の分, %S: 2桁の秒
formatted_time = now.strftime("%Y年%m月%d日 %H時%M分%S秒")
print(f"フォーマット後の時刻: {formatted_time}")
graph LR
    A["import datetime"] --> B["now = datetime.datetime.now() (現在の時刻を取得)"];
    subgraph "時刻オブジェクト (now)"
        Year["年"]
        Month["月"]
        Day["日"]
        Hour["時"]
        Minute["分"]
        Second["秒"]
    end
    B --> Year & Month & Day & Hour & Minute & Second;
    C["formatted = now.strftime('%Y年%m月%d日 ...')"];
    B --> C;
    C --> D["'2025年08月17日 ...' のような文字列を生成"];
    D --> E["文字列を表示"];

osモジュール:OS(オペレーティングシステム)と対話する

osモジュールは、ファイルやディレクトリ(フォルダ)の操作など、OSが持つ機能にアクセスするための橋渡しをします。プログラムが自身の外の世界、つまりコンピュータのファイルシステムとやり取りする際に使われます。

主な機能:

  • os.path.exists(パス): 指定したファイルやディレクトリが存在するかどうかをTrue/Falseで返す。
  • os.mkdir(ディレクトリ名): 新しいディレクトリを作成する。

コード例:

import os

# 'test_file.txt' というファイルが存在するかどうかをチェック
file_path = 'test_file.txt'

if os.path.exists(file_path):
    print(f"'{file_path}' は存在します。")
else:
    print(f"'{file_path}' は見つかりません。")

# 'my_folder' というディレクトリを作成してみる
folder_path = 'my_folder'
if not os.path.exists(folder_path):
    os.mkdir(folder_path)
    print(f"'{folder_path}' を作成しました。")
else:
    print(f"'{folder_path}' は既に存在します。")
graph TD
    A["import os"] --> B{"os.path.exists('test_file.txt') ?"};
    B -- True --> C["'ファイルは存在します'と表示"];
    B -- False --> D["'ファイルは見つかりません'と表示"];

もっと知りたいときは?公式ドキュメントを活用しよう

ここで紹介したモジュールは、標準ライブラリのほんの一部にすぎません。では、他にどんなモジュールがあるのか、どうやって調べればよいのでしょうか?

その答えはPythonの公式ドキュメントにあります。

Python公式ライブラリリファレンス:https://docs.python.org/ja/3/library/index.html

このサイトには、全ての標準ライブラリのモジュールについて、その機能や使い方が網羅的に解説されています。最初は少し難しく感じるかもしれませんが、「こんなことができないかな?」と思ったときに、この公式マニュアルを調べる癖をつけると、プログラミングのスキルが格段に向上します。

まとめ

今回は、Pythonに最初から備わっている強力な武器庫「標準ライブラリ」について学びました。

  • 標準ライブラリは、Pythonに組み込まれた便利なモジュールの集まり。
  • 追加のインストールは不要で、importするだけですぐに使える。
  • random(乱数)、datetime(日付)、os(OS機能)など、多種多様なモジュールが提供されている。
  • 困ったら公式ドキュメントを調べるのが、問題を解決するための王道。

標準ライブラリを使いこなせるようになると、自分で一からコードを書く手間が大幅に省け、より複雑で実用的なプログラムを効率的に作成できるようになります。色々なモジュールを試して、Pythonの世界を探検してみてください。

目次
「ゼロから始めるPython学習」各ステップのタイトル案
ゼロから始めるPython学習 STEP20目次

プログラミング未経験者向けPython入門講座。環境構築から変数、if文、for文、関数といった基本までを20のステップでわかりやすく解説します。自分のペースで一歩ずつ着実に学び、プログラミングの第一歩を踏み出しましょう!

続きを見る

-プログラミング