3.5 組み込みモジュール operator
operatorモジュールは、パイソン特有の演算子と同機能をもつ
Cで実装された関数群をexportします。
例えば、operator.add(x, y) は x+yという表現と
等価です。
この関数名は、特別なクラスメソッドで使用されるものです。
頭と末尾が"__"でない関数は、利便性を高めるために提供されています。
operator モジュールは以下の関数を定義しています:
- add (a, b)
-
- __add__ (a, b)
-
数字 a、bに対して a + bを返します。
- sub (a, b)
-
- __sub__ (a, b)
-
a - bを返します。
- mul (a, b)
-
- __mul__ (a, b)
-
数字 a、bに対して 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)
-
aとbのビット単位のAND演算結果を返します。
- or_ (a, b)
-
- __or__ (a, b)
-
aとbのビット単位のOR演算結果を返します。
- concat (a, b)
-
- __concat__ (a, b)
-
シーケンス aとb に対して、
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-1の
aのスライスを返します。
- setslice (a, b, c, v)
-
- __setslice__ (a, b, c, v)
-
インデックスbから c-1の
aのスライスをシーケンスvに設定します。
- delslice (a, b, c)
-
- __delslice__ (a, b, c)
-
インデックスbから c-1の
aのスライスを削除します。
例:
0から256までの数字と、
各々の数字を文字コードとみなしたときの文字を
対応付けるディクショナリを作成します。
>>> import operator
>>> d = {}
>>> keys = range(256)
>>> vals = map(chr, keys)
>>> map(operator.setitem, [d]*len(keys), keys, vals)
guido@python.org