標準ライブラリ

※基本、Python3前提。

dataclasses

https://docs.python.org/ja/3/library/dataclasses.html

データクラス

__init__()__repr__() のような特殊メソッドを生成し、ユーザー定義のクラスに自動的に追加するデコレータや関数を提供する。

Example:

from dataclasses import dataclass

@dataclass
class InventoryItem:
    """Class for keeping track of an item in inventory."""
    name: str
    unit_price: float
    quantity_on_hand: int = 0

    def total_cost(self) -> float:
        return self.unit_price * self.quantity_on_hand

この場合、下のような __init__() が追加される:

def __init__(self, name: str, unit_price: float, quantity_on_hand: int = 0):
    self.name = name
    self.unit_price = unit_price
    self.quantity_on_hand = quantity_on_hand

@dataclasses.dataclass

@dataclasses.dataclass(*, init=True, repr=True, eq=True, order=False,
unsafe_hash=False, frozen=False, match_args=True, kw_only=False, slots=False)

引数解説(一部)

引数デフォルト意味(Trueのとき)
initTrue__init__() メソッド生成
reprTrue__repr__() メソッド生成
frozenFalseフィールドへの代入は例外を発生させる。インスタンスは読み取り専用を模倣する

datetime

https://docs.python.org/ja/3/library/datetime.html

日付、時刻モジュール。

datetime.timedelta

https://docs.python.org/ja/3/library/datetime.html#timedelta-objects

経過時間、即ち、2つの時刻の差を表す。

Example:

>>> from datetime import timedelta
>>> delta = timedelta(
...     days=50,
...     seconds=27,
...     microseconds=10,
...     milliseconds=29000,
...     minutes=5,
...     hours=8,
...     weeks=2
... )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)

os

https://docs.python.org/ja/3/library/os.html

ファイル名、コマンドライン引数、環境変数など

os.getenv

https://docs.python.org/ja/3/library/os.html#os.getenv

os.getenv(key, default=None)
  • 環境変数keyが存在すればその値を返し、存在しなければdefaultを返す
  • key, default, 返り値は文字列

os.path

https://docs.python.org/ja/3/library/os.path.html

パス名操作

>>> os.path.join('/', 'usr', 'local', 'bin')
'/usr/local/bin'

pprint

https://docs.python.org/ja/3/library/pprint.html

Rubyの pp 的なもの。

re

https://docs.python.org/ja/3/library/re.html

正規表現操作モジュール。

See also 道場#正規表現

フラグ

RegexFlagのインスタンス(Python v3.6〜)

flag機能
re.I, re.IGNORECASE大文字・小文字を区別しない

urllib.request

https://docs.python.org/ja/3/library/urllib.request.html

HTTPリクエストを送る。

使い方: https://docs.python.jp/3.6/howto/urllib2.html

sys

https://docs.python.org/ja/3/library/sys.html

常に利用可能

sys.exit

https://docs.python.org/ja/3/library/sys.html#sys.exit

sys.exit([arg])

Pythonを終了する。

引数(arg):

  • 整数: 終了コード
    • 0 (デフォルト) … 正常終了
    • 1-127 … 異常終了
  • 他の型のオブジェクト
    • オブジェクトがstderrに出力され、終了コードは1になる

venv

https://docs.python.org/ja/3/library/venv.html

# 仮想環境の作成
python3 -m venv path/to/new_environment

# 仮想環境の利用
source path/to/new_environment/bin/activate

## module install
pip install <some_modules>

## installしたモジュールの表示
pip freeze

## 仮想環境の利用を終了
deactivate

参考: