【Python系列】 3. python 運(yùn)算符
(適合有程序基礎(chǔ)的人,觀看)
算術(shù)運(yùn)算符?
( + 、- 、* 、/ 、//(除,且向下取整)、**(乘方)?、%?(取模,即求余數(shù)))
注:python 中沒(méi)有++、-- 運(yùn)算符
比較運(yùn)算符?
( >、 >= 、<、 <= 、==、 != 、is 、is not)
注:python中沒(méi)有三個(gè)等號(hào),?用is 來(lái)替代了三個(gè)等號(hào)的作用,即進(jìn)行全等的判斷
邏輯運(yùn)算符(and? or? not)
賦值運(yùn)算符
(+= 、-= 、*= 、/= 、//= 、**=、 %=)
三元運(yùn)算符
python中的三元運(yùn)算符,不是(條件)?? 為真表達(dá)式 : 為假表達(dá)式
而是如下語(yǔ)法:
為真時(shí)的結(jié)果? if? ?判定條件? else? 為假時(shí)的結(jié)果
成員運(yùn)算(in 、not in)
位運(yùn)算(重點(diǎn)介紹)??
( &、 |、? 左位移、 右位移等)注:位運(yùn)算,均是轉(zhuǎn)成二進(jìn)制后在進(jìn)行計(jì)算
按位運(yùn)算符是把數(shù)字看作二進(jìn)制來(lái)進(jìn)行計(jì)算的。
Python中的按位運(yùn)算法則如下:
下表中變量 a 為 60,b 為 13,二進(jìn)制格式如下:
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
運(yùn)算符:&(與)
描述:
按位與運(yùn)算符:參與運(yùn)算的兩個(gè)值,如果兩個(gè)相應(yīng)位都為1,則該位的結(jié)果為1,否則為0
實(shí)例:
(a & b) 輸出結(jié)果 12,二進(jìn)制為:0000 1100
運(yùn)算符:|(或)
描述:按位或運(yùn)算符:只要對(duì)應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1
實(shí)例:
(a | b) 輸出結(jié)果 61 ,二進(jìn)制為:0011 1101?
運(yùn)算符:^(異或)
描述:按位異或運(yùn)算符:當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異時(shí),結(jié)果為1
實(shí)例:
(a ^ b) 輸出結(jié)果 49 ,二進(jìn)制為:0011 0001
運(yùn)算符:~(取反)
描述:按位取反運(yùn)算符:對(duì)數(shù)據(jù)的每個(gè)二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)?
實(shí)例:(~a ) 輸出結(jié)果 -61 ,二進(jìn)制解釋?zhuān)?100 0011, 在一個(gè)有符號(hào)二進(jìn)制數(shù)的補(bǔ)碼形式
運(yùn)算符:<<?(左移動(dòng))
描述:左移動(dòng)運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由"<<"右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0
實(shí)例:a << 2 輸出結(jié)果 240 ,二進(jìn)制為:1111 0000
運(yùn)算符:>> (右移動(dòng))
描述:右移動(dòng)運(yùn)算符:把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,">>"右邊的數(shù)指定移動(dòng)的位數(shù)
實(shí)例:
a >> 2 輸出結(jié)果 15
參考:
http://www.runoob.com/python/python-operators.html