7 3 operator 操作符函式

2021-07-10 04:43:50 字數 2080 閱讀 4387

本模組主要包括一些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...