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
謝謝大夥觀