note.nkmk.me

Pythonの組み込み関数と標準ライブラリ、サードパーティライブラリ

Date: 2018-10-20 / tags: Python

"Batteries Included Philosophy"(バッテリー同梱の哲学)のもと、Pythonには多くの関数やモジュールが標準ライブラリ(Standard Library)として用意されている。公式のインストーラなど標準的な方法でPythonをインストールした場合、標準ライブラリもデフォルトで含まれる。

標準ライブラリのほか、pipなどを使って追加でインストールできるサードパーティライブラリ(外部ライブラリ)も数多く存在する。

標準ライブラリとサードパーティライブラリには、インストールやインポートの要否について以下のような使い方の違いがある。

  • 組み込み関数
    • abs()len(), max()など
    • インストールもインポートも不要
  • 標準ライブラリに含まれるモジュール
    • datetimemath, osなど
    • インストールは不要、インポートは必要
  • サードパーティライブラリ(外部ライブラリ)
    • numpypandas, 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でインポートして使う。numpynppandaspdのように、asを使って略称でインポートすることが慣例となっているものも多い。

import numpy as np

a = np.array([0, 1, 2])

print(a)
# [0 1 2]

print(type(a))
# <class 'numpy.ndarray'>
スポンサーリンク
シェア
このエントリーをはてなブックマークに追加

関連カテゴリー

関連記事