第二章--第四節:運算符(二)

零、位運算符

位運算符就是將數字轉換爲二進制進行計算,位運算符包括:按位與(&)按位或(|)按位異或(^)按位取反(~)左移動(<<)右移動(>>)。解釋見下表:
假設 a=10 ,b=12

運算符 名稱 說明 例子
& 按位與 如果參與運算的兩個變量,相應位都是1,則該位的結果位1,反之位0 a&b 結果爲8
| 按位或 如果對應的二個二進位有一個爲1時,結果位就爲1 a
^ 按位異或 對應的二進位相異時,結果爲1 a^b 結果爲6
~ 按位取反 對數據的每個二進制位取反,即把1變爲0,把0變爲1 ~a 輸出結果爲 -11
<< 左移動 運算數的各二進位全部左移若干位,高位丟棄,低位補0 a<<11 結果爲20480
>> 右移動 運算數的各二進位全部右移若干位 a>>11 結果爲0

一、成員運算符

成員運算符主要是用於在序列中查找是否包含指定的值。成員運算符包含:innot in。解釋見下表:
假設a=10,b=[1,2,3,4,5,6,7,8,9,0]

運算符 說明 例子
in 查找序列中是否存在指定的變量 a in b 結果爲False
not in 查找序列中是否不存在指定的變量 a not in b 結果爲True

二、身份運算符

用於檢查兩個值(或變量)是否位於存儲器的同一部分。(兩個變量相等,並不是說完全一樣。)身份運算符包含:isis not。解釋如下表:
假設a=1,b=1,c=[0,1,2],d=[0,1,2],e=‘hello’,f=‘hello’

運算符 說明 例子
is 是否引用的同一個對象 a is b結果爲True,c is d 結果爲False,e is f 結果爲True
is not 是否引用的不是同一個對象 a is b結果爲False,c is d 結果爲True,e is f 結果爲False

三、運算符優先級

運算符優先級見下表:
括號可以提高運算符優先級

運算符 解釋
** 冪運算(優先級最高)
按位翻轉, 一元加號和減號
* / % // 乘,除,取模和取整除
± 加法減法
>> << 右移,左移運
& 按位與
^ | 按位異或,按位或
<= < > >= 比較運算符
<> == != 等於運算符
= %= /= //= -= += *= **= 賦值運算符
is is not 身份運算符
and or not 邏輯運算符

四、小結

今天所講的運算符在開發中也是經常使用的,需要牢記。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章