【Python】標準ライブラリと外部ライブラリ

プロモーションが含まれています。

スポンサーリンク
サムネイル プログラム

標準ライブラリとモジュールについては、説明した記事があります。標準ライブラリはおさらいになるので簡単に、外部ライブラリについて掘り下げて書いていきます。

スポンサーリンク

ライブラリとは

標準ライブラリ 外部ライブラリ

予め決められた、計算や動き、デバイスに必要なパラメータの設定方法などが決められているデータの集まりをライブラリと言い、機能ひとつひとつをモジュールと呼んでいます。どのデータ(モジュール)を使うかは、プログラムの内容に応じて宣言(import)してから使用することになります。後で詳しく書きますが、外部ライブラリは事前にインストールする必要があります。

ライブラリの活用力が、プログラミング能力の一部と言えます。どんなライブラリがあるのか、どのように探せばよいか、どう活用するかでプログラミングの処理速度や開発速度が大きく変わってきます。

標準ライブラリ

予めpythonの中に入っているライブラリを「標準ライブラリ」と言います。pythonをインストールしたときに一緒にインストールされるライブラリです。

pythonのdocumentサイトに詳しく書かれています。最後の章でサイトの見方について簡単に説明しています。

外部ライブラリ

外部ライブラリとは、用途にあったライブラリ(モジュール)を企業や個人が作り各種サイトに掲載しているもので、個々にpythonにインストールする必要があるものを言います。

最も一般的な外部ライブラリのサイトは、Python Package Index(PyPI パイピーアイ)というサイトです。最後の章でサイトの見方について簡単に説明しています。

インストール

PyPIにあるライブラリ、モジュールはPCなどにダウンロードする必要はなく、コマンドプロンプトやシステムシェルを開いてpip installコマンドを使うことでサイトから直接インストールできます。(インターネットに繋がっている必要があります。)

コマンドプロンプト

pytzをインストールしてみます。

コマンドプロンプトを開く > pythonを起動するディレクトリを開く(pythonは起動しない)
「py -m pip install pytz」を入力 して「Successfully installed …」と表示されれば完了です。

py -m pip install pytz

「py -m pip list」を入力すると、pipでインストールされたリストを表示させます。

py -m pip list

アンインストール

インストールしたpytzをアンインストールします。

インストールした外部ライブラリは、コマンドプロンプトやシステムシェルを開いてpip uninstallでアンインストールできます。

コマンドプロンプト

コマンドプロンプトを開く > pythonを起動するディレクトリを開く(pythonは起動しない)
「py -m pip uninstall pytz」を入力 して「Proceed (Y/n)?」と表示されるので Y(Yes)を入力して、「Successfully uninstalled …」が表示されれば完了です。

py -m pip uninstall pytz

「py -m pip list」を入力すると、pipでアンインストールされたのを確認できます。

Thonnyでのインストール・アンインストール

下記リンク先に詳しく書いていますので、ご参照ください。

使い方

使用するライブラリを「import」

import ライブラリ名

実際のプログラム(コマンド)は、以下の様に使います。

ライブラリ名.メソッド
変数 = ライブラリ名.メソッド
ライブラリを利用した変数.メソッド

大まかに、上の3パターンになるかと思います。

ライブラリにはメソッド(方法、方式)というものが用意されています。メソッドは、ライブラリ名や変数の後ろに付けて使います。詳しくは、「動作確認」を読んだり、プログラムを組んだりして慣れてください。

スポンサーリンク

動作確認

標準ライブラリか外部ライブラリのどちらかを確認するだけで問題はありませんが、理解を深める為にThonnyで両方確認します。

標準ライブラリ

簡単な計算(モジュール不要)

a = 0
b = 1
c = 3
a = b + c

print(a )

4

4が表示されます。特に何もする必要なく計算式のみで実行できます。

関数(モジュール必要)

先ほどの計算に加えて aの√ (平方根)を求めます。sqrtを使います。

# 失敗 その1
a = 0
b = 1
c = 3
a = b + c
a = sqrt(a)

print(a)

計算結果 (a = b + c) に、更に平方根を掛けます。

# 失敗 その2
a = 0
b = 1
c = 3
a = b + c
a = math.sqrt(a)
print(a)

平方根 (sqrt) を関数計算モジュール(math)のメソッドにしました。

NameError: name ‘sqrt’ is not defined

両方とも上記のエラーが表示されます。標準ライブラリのmathモジュールをimportしていない為に、エラーを検出し途中で処理を停止しています。

# 成功
import math

a = 0
b = 1
c = 3
a = b + c
a = math.sqrt(a)
print(a)

2.0

解決方法として、関数計算のmathモジュールを呼びだす(importで使用を宣言する)ことで計算ができるようになります。失敗その1はプログラム自体が間違っているので、mathを宣言したとしてもエラーになります。

今回の状況をイメージにしてみました。

宣言のイメージ

プログラムに応じたモジュールのみをimportするのは、ストレージやメモリの節約や処理速度の悪化防止になります。この考え方は、pythonだけでなく多くのプログラム言語で採用されています。

カレンダ

もうひとつやってみます。

import calendar

print(calendar.month(2025, 1))
カレンダ

指定した月のカレンダを表示させてみました。コピー&ペーストで載せようとすると、上手く表示されないので今回は画像です。

外部ライブラリ

既述済みですが、外部ライブラリのモジュールを使用する場合は、事前にインストールしてある必要があります。

「datetime」は標準ライブラリ、「pytz」は外部ライブラリです。このふたつを組み合わせて日本の現在時刻を表示させます。

import datetime
import pytz

jst = pytz.timezone('Asia/Tokyo')
now = datetime.datetime.now(jst)

print(now.strftime('%Y-%m-%d %H:%M:%S'))

(表示例)2025-01-23 01:23:45

PCやデバイスに設定されている時間を参照して、現在の時間を表示します。

ポイント①

「datetime」と「pytz」の時間の違い
標準ライブラリ「datetime」だけでも、デバイス内の現在時刻を取得できます。外部ライブラリ「pytz」はデバイス内の現在時刻ではなく、標準時間を取得しそこから、指定した地域の時差計算をして現在時刻を表示させます。

スポンサーリンク

各サイトの見方

日本語で分かりやすく解説しているサイトもありますが、大元の情報源を知っておけば良いサイトが見つからなったときに役に立ちます。

標準ライブラリ Python公式

Python公式サイトにドキュメントをまとめているページがあります。

python公式

(Python >) Documentation > Docs > Python Docs の順でクリックしていきます。

Python公式

赤□で囲ったところで言語を選べます。その隣はアプリケーションのバージョンを選ぶことができます。ここでひととおりの知識は得られます。

外部ライブラリ PyPI

PyPI公式

Python公式サイト画面上の、メニューボタン左から4番目「PyPI」からも行けます。

Python Package Index(PyPI パイピーアイ)の「プロジェクトを検索」と書いてある検索欄に入力するか、下部にある「プロジェクトを閲覧する」からプロジェクト(ライブラリ、モジュール)を確認することができます。詳細ページは英語になります。

コメント

タイトルとURLをコピーしました