3.5 組み込みモジュール operator

 

operatorモジュールは、パイソン特有の演算子と同機能をもつ Cで実装された関数群をexportします。 例えば、operator.add(x, y)x+yという表現と 等価です。 この関数名は、特別なクラスメソッドで使用されるものです。 頭と末尾が"__"でない関数は、利便性を高めるために提供されています。

operator モジュールは以下の関数を定義しています:

add (a, b)
__add__ (a, b)
数字 abに対して a + bを返します。

sub (a, b)
__sub__ (a, b)
a - bを返します。

mul (a, b)
__mul__ (a, b)
数字 abに対して a * bを返します。

div (a, b)
__div__ (a, b)
a / bを返します。

mod (a, b)
__mod__ (a, b)
a % bを返します。

neg (o)
__neg__ (o)
o を負にした(-1を掛ける)値を返します。

pos (o)
__pos__ (o)
oを正にした(1を掛ける)値を返します。

abs (o)
__abs__ (o)
oの絶対値を返します。

inv (o)
__inv__ (o)
oのビット列を反転させた値を返します。

lshift (a, b)
__lshift__ (a, b)
bによって左シフトされた aを返します。

rshift (a, b)
__rshift__ (a, b)
bによって右シフトされた aを返します。

and_ (a, b)
__and__ (a, b)
abのビット単位のAND演算結果を返します。

or_ (a, b)
__or__ (a, b)
abのビット単位のOR演算結果を返します。

concat (a, b)
__concat__ (a, b)
シーケンス ab に対して、 a + b を返します。

repeat (a, b)
__repeat__ (a, b)
シーケンスa、整数bに対して、 a * bを返します。 b is an integer.

getitem (a, b)
__getitem__ (a, b)
インデックスbにおける aの値を返します。

setitem (a, b, c)
__setitem__ (a, b, c)
インデックス bにおけるaの値を cに設定します。

delitem (a, b)
__delitem__ (a, b)
インデックス bにおける aの値を削除します。

getslice (a, b, c)
__getslice__ (a, b, c)
インデックスbから c-1aのスライスを返します。

setslice (a, b, c, v)
__setslice__ (a, b, c, v)
インデックスbから c-1aのスライスをシーケンスvに設定します。

delslice (a, b, c)
__delslice__ (a, b, c)
インデックスbから c-1aのスライスを削除します。

例: 0から256までの数字と、 各々の数字を文字コードとみなしたときの文字を 対応付けるディクショナリを作成します。

>>> import operator
>>> d = {}
>>> keys = range(256)
>>> vals = map(chr, keys)
>>> map(operator.setitem, [d]*len(keys), keys, vals)

guido@python.org