天天看點

Python的6種運算符(日記)

學習了許久的Python,我單獨總結出了Python中比較常見的6種運算符,感覺略有不全,希望大夥可以一起讨論與研究Python!

一、算術運算符

減 -

乘 *

除 /

取餘 %

取整 //

異号 -

不變号 +

取絕對值 abs(x)

轉為整數 int(x)

轉為浮點數 float(x)

複數 complex(re,im)

共轭複數 c.conjugate()

傳回一個數值對(x//y,x%y) divmod(x,y)

x的y次幂(兩種寫法) x**y,pow(x,y)

二、比較運算符

小于(<),小于等于(<=),等于(==),大于(>),大于等于(>=),不等于(!=),is(判斷兩個辨別符引用一個對象) ,is not(不是同一個對象)

1.八個比較運算符優先級相同

2.python允許鍊式比較 x<y<z,它相當于 x<y and y<z

3.複數不能用于比較大小,隻能用于比較相等

三、邏輯運算符

x or y 短路運算符 (它隻有第一個運算數為false才計算第二個運算數的值)

x and y 短路運算符 (它隻有第一個運算數為True才進行第二個運算數的值)

not x not的優先級低(not a==b 相當于 not(a==b)),a = not b 是錯誤的

四、位運算符

python中的位運算符是把數字看作是二進制來進行計算的

& 按位與運算符:參數運算的兩個值(二進制),如果兩個相應為都為1,則改為的結果為 1,否則為0

| 按位或運算符:參與運算的兩個值,隻有對應位的兩個數,有一個為1,結果為1

^ 按位異或運算符:對應位數數值不同為1,相同為0

~ 按位取反運算符:針對單個數,二進制格式,相應的位的數值取反,1變0,0變1

<< 左移動運算符:各二進制位左移若幹位,高位丢棄,低位補0

>> 右移動運算符:各二進制位又移若幹位

>>> a = bin(20)
>>> a
\'0b10100\'
>>> b = bin(30)
>>> b
\'0b11110\'           

二進制數:預設8位,0b字首辨別,從地位到高位讀取,從右到左寫,不夠的位數補0,直到讀取8位為止

調用python二進制函數bin,0b代表二進制辨別符,二進制數預設8位,則a,b對應的二進制數為:

a = 25 = 0001 1001

b = 62 = 0011 1110

a&b =24= 0001 1000

a|b =63 = 0011 1111

a^b = 39 = 0010 0111

~a = -26 = 1110 0110

負數:

源碼:0001 1010

反碼:1110 0101

補碼:1110 0110

a<<2 = 100 = 0110 0100

a>>2 = 6= 0000 0110

>>> bin(25)
\'0b11001\'
>>> bin(62)
\'0b111110\'
>>> 25&62
24
>>> bin(24)
\'0b11000\'
>>> 25|62
63
>>> bin(63)
\'0b111111\'
>>> 25^62
39
>>> bin(39)
\'0b100111\'
>>> ~25
-26
>>> bin(-26)
\'-0b11010\'
>>> 25<<2
100
>>> bin(100)
\'0b1100100\'
>>> 25>>2
6
>>> bin(6)
\'0b110\'           

驗證

>>> eval(\'0b00011000\')
24
>>> eval(\'0b00111111\')
63
>>> eval(\'0b00100111\')
39
>>> eval(\'-0b00011010\')
-26
>>> eval(\'0b01100100\')
100
>>> eval(\'0b00000110\')
6           

五、指派運算符

= 簡單的指派

+= 加法指派運算

-= 減法指派運算

*= 減法指派運算

/= 除法指派運算

%= 取餘法指派運算

**= 幂指派運算

//= 取整除指派運算

六、成員運算符

python提供了成員運算符,測試一個元素是否在序列(squence)中

in 如果指定元素在序列中,傳回True,否則傳回False

not in 如果指定元素不在序列中,傳回True,否則傳回False

謝謝大夥觀看!

Python的6種運算符(日記)