本模組主要包括一些python
內部操作符對應的函式。比如
operator.add(x, y)
對應表示式:
x + y
。在這些函式裡,一般是帶字首和字尾的下劃線,在這裡不帶這些下劃線的函式,也是合法的。這些函式主要分為幾類:物件比較、邏輯比較、算術運算和序列操作。
物件比較的函式:
operator.lt(a, b)
operator.le(a, b)
operator.eq(a, b)
operator.ne(a, b)
operator.ge(a, b)
operator.gt(a, b)
operator.__lt__(a, b)
operator.__le__(a, b)
operator.__eq__(a, b)
operator.__ne__(a, b)
operator.__ge__(a, b)
operator.__gt__(a, b)
所有操作函式對應的表示式操作如下表:
操作語法
函式相加
a + b
add(a, b)
字串拼接
seq1 + seq2
concat(seq1, seq2)
包含測試
obj in seq
contains(seq, obj)
普通除法
a / b
truediv(a, b)
取整除法
a // b
floordiv(a, b)
按位與a & b
and_(a, b)
按位異或
a ^ b
xor(a, b)
按位取反
~ ainvert(a)
按位或a | b
or_(a, b)
指數運算
a ** b
pow(a, b)
識別a is b
is_(a, b)
識別a is not b
is_not(a, b)
索引賦值
obj[k] = v
setitem(obj, k, v)
索引刪除
del obj[k]
delitem(obj, k)
索引obj[k]
getitem(obj, k)
左移a << b
lshift(a, b)
取模a % b
mod(a, b)
乘法a * b
mul(a, b)
負數-a
neg(a)
非運算not a
not_(a)
正數+ a
pos(a)
右移運算
a >> b
rshift(a, b)
切片賦值
seq[i:j] = values
setitem(seq, slice(i, j), values)
切片刪除
del seq[i:j]
delitem(seq, slice(i, j))
切片seq[i: j]
getitem(seq, slice(i, j))
字串格式化
s % obj
mod(s, obj)
減法a - b
sub(a, b)
真值測試
objtruth(obj)
小於a < b
lt(a, b)
小於等於
a <= b
le(a, b)
等於a == b
eq(a, b)
不等於a != b
ne(a, b)
大於等於
a >= b
ge(a, b)
大於 a > b
gt(a, b)
例子:#python 3.4
import operator
a = operator.add(2, 3)
print(a)
結果輸出如下:
C 技巧之operator操作符
cpp view plain copy template typename t class a private t m 又比如stl中的函式物件,過載 這是c 中較推薦的寫法,功能與函式指標類似,如下所示 c sharp view plain copy template struct a 2 ope...
C 技巧之operator操作符
cpp view plain copy template typename t class a private t m 又比如stl中的函式物件,過載 這是c 中較推薦的寫法,功能與函式指標類似,如下所示 c sharp view plain copy template struct a 2 ope...
複習 C 之過載操作符operator
過載操作符就是為了實現類的多型性,讓運算子與類結合,產生新的含義。使用類的成員函式或友元函式 類外的普通函式 實現。過載 includeusing namespace std 過載操作符一定要有乙個物件參與 class cnum int operator int num 過載 int operato...