[Python #14] Pythonの標準ライブラリ

はじめまして。

新しくPythonチームに参加しました、R.Tです。

今回は簡単な自己紹介と、Pythonの標準ライブラリの話をしようと思います。

私は、関東圏内にある情報系の専門学校に通っています。4年制の学科に所属しており、現在は3年生です。
コロナ禍の影響で、入学当時から授業はオンラインで行われていました。現在も週の半分ほどはオンライン授業です。
私は一人で居ることが好きなので、オンライン授業に対して欠点を感じることはそんなにありません。あるとすれば、外出する機会が無くなることですね。

自己紹介はこの辺にして、本題に移ります。

2種類のライブラリ

Pythonのライブラリは、標準ライブラリと外部ライブラリの2種類が存在します。

標準ライブラリは、Pythonのインストール時に付属しているライブラリです。そのため、個別にインストールする必要はありません。具体的なモジュールについては後述します。

外部ライブラリは、Pythonとは別にインストールする必要があるライブラリです。数値計算を効率的に処理する「NumPy」、データ解析の機能を提供する「pandas」、Webスクレイピングに使用される「Requests」などがあります。この外部ライブラリが豊富であることが、Pythonが人気である理由の一つとも言われています。

余談ですが、Pythonには組み込み関数というものも存在します。いずれのライブラリも使用する際はimport文を記載する必要がありますが、import文を記載せずに使用できる関数が組み込み関数です。数値の絶対数を返す「abs()」、コンソールに出力する「print()」などが存在します。

標準ライブラリのモジュール

標準ライブラリのモジュールをいくつか紹介しようと思います。

math

mathモジュールは三角関数や対数、小数点以下の切り捨てなど、高度な計算処理を扱うことができます。円周率(π)や自然対数の底(e)などの定数も提供します。

random

randomモジュールは疑似乱数を生成することができます。0.0~1.0の中のランダムな少数や、指定範囲内のランダムな整数を生成する関数が用意されています。

※コンピュータは真に無作為で予測できない数値を生成することができないため、乱数ではなく「擬似乱数」としています。

datetime

datetimeモジュールはコンピュータの現在日時を取得することができます。「2時間経った後の時刻」のような日時の計算や、フォーマットを指定して文字列に出力することもできます。

os

osモジュールはOS依存の機能を利用することができます。主にディレクトリの参照、操作をする関数が用意されています。

ここで挙げたもの以外にも、正規表現を扱えるreモジュールやjsonフォーマットを扱えるjsonモジュールなど様々なモジュールが存在します。

実際に使ってみる

randomモジュールとmathモジュールを使用して、ランダムな整数の角度の正弦(サイン)を出力するプログラムを書いてみました。

# ライブラリを使用する前にimport文を書く必要がある
import random
import math

# random.randint(a, b)はaからbの間の整数の疑似乱数を生成する
degree = random.randint(0, 360)

# math.radians(x)は度からラジアンに変換する
# math.sin(x)はx(ラジアン)の正弦(サイン)を出力する

sin = math.sin(math.radians(degree))

# 組み込み関数のprint()は文字列をコンソールに出力する
print(degree)
print(sin)

出力は以下の通りです。(疑似乱数なので結果は毎回変化します)

100
0.984807753012208

おわりに

今回は、Pythonの標準ライブラリの一部について紹介しました。標準ライブラリだけでも出来ることは沢山あるので、興味を持った方はぜひ調べてみてください。

参考

【Python入門】標準ライブラリとは?知っておくと便利な関数5選 | 侍エンジニアブログ

乱数と疑似乱数の違い

Python 標準ライブラリ — Python 3.11.0b5 ドキュメント