Pythonの組み込み関数と標準ライブラリ、サードパーティライブラリ
"Batteries Included Philosophy"(バッテリー同梱の哲学)のもと、Pythonには多くの関数やモジュールが標準ライブラリ(Standard Library)として用意されている。公式のインストーラなど標準的な方法でPythonをインストールした場合、標準ライブラリもデフォルトで含まれる。
標準ライブラリのほか、pip
などを使って追加でインストールできるサードパーティライブラリ(外部ライブラリ)も数多く存在する。
標準ライブラリとサードパーティライブラリには、インストールやインポートの要否について以下のような使い方の違いがある。
- 組み込み関数
abs()
やlen()
,max()
など- インストールもインポートも不要
- 標準ライブラリに含まれるモジュール
datetime
やmath
,os
など- インストールは不要、インポートは必要
- サードパーティライブラリ(外部ライブラリ)
numpy
やpandas
,requests
など- インストールもインポートも必要
ここでは、それぞれについてサンプルコードとともに使い方の例を説明する。
- "Batteries Included Philosophy"(バッテリー同梱の哲学)
- 組み込み関数、組み込み型
- 標準ライブラリに含まれるモジュール
- サードパーティライブラリ(外部ライブラリ)
"Batteries Included Philosophy"(バッテリー同梱の哲学)
"Batteries Included"(バッテリー同梱)は「追加で電池を用意しなくてもすぐに使える」といった意味合い。この哲学に則り、Pythonにはユーザーがすぐに使えるライブラリが豊富に含まれている。
公式ドキュメントのチュートリアルやPEPなどに書かれている。
Python には "バッテリー同梱 (batteries included)" 哲学があります。この哲学は、洗練され、安定した機能を持つ Python の膨大なパッケージ群に如実に表れています。
10. 標準ライブラリミニツアー - バッテリー同梱 — Python 3.7.1rc2 ドキュメント
The Python source distribution has long maintained the philosophy of "batteries included" -- having a rich and versatile standard library which is immediately available, without making the user download separate packages. This gives the Python language a head start in many projects.
PEP 206 -- Python Advanced Library | Python.org
組み込み関数、組み込み型
組み込み関数(Built-in Functions)や組み込み型(Built-in Types)は追加のインストールもインポートも不要で使える。
一覧および個々の動作などは公式ドキュメントで確認できる。
組み込み関数には、リストなどの要素数を返すlen()
や数値の絶対値を返すabs()
などがある。
print(len([0, 1, 2]))
# 3
print(abs(-10))
# 10
組み込み型は整数int
型や文字列str
型など。特に気にせず使っている標準型。それぞれの型には多くのメソッドが用意されている。
s = 'abc'
print(s)
# abc
print(type(s))
# <class 'str'>
print(s.upper())
# ABC
例のupper()
は小文字を大文字に変換するメソッド。
標準ライブラリに含まれるモジュール
標準ライブラリには多数のモジュールが含まれている。一覧および詳しい説明は公式ドキュメントで確認できる。
追加のインストールは不要だが、インポートは必要。
import <モジュール名>
でモジュール全体をインポートすることも、from <モジュール名> import <関数名>
でモジュールで定義されている関数などを直接インポートすることもできる。
import math
print(math.cos(0))
# 1.0
from math import sin
print(sin(0))
# 0.0
import
の使い方について詳しくは以下の記事を参照。
サードパーティライブラリ(外部ライブラリ)
標準ライブラリ以外のライブラリを追加でインストールして使うことも可能。
Python2系では2.7.9から、Python3系では3.4から、パッケージ管理システムpip
が含まれており、pip install
コマンドでサードパーティライブラリをインストールできる。
ただし、ライブラリによってはインストールのプロセスでコンパイルなどが必要な場合もあり、諸々の環境を整えないとpip
でのインストールが失敗することもある。
特にWindowsでは、コンパイル済みのパッケージを提供するAnacondaなどのディストリビューションで環境を構築するほうが楽。
なお、Anaconda環境ではpip
ではなくconda
コマンドでパッケージを管理するので注意。
インストールしたサードパーティライブラリ(外部ライブラリ)は標準ライブラリのモジュールと同様にimport
でインポートして使う。numpy
はnp
、pandas
はpd
のように、as
を使って略称でインポートすることが慣例となっているものも多い。
import numpy as np
a = np.array([0, 1, 2])
print(a)
# [0 1 2]
print(type(a))
# <class 'numpy.ndarray'>