按位運算子是把數字看作二進位制來進行計算的。python中的按位運算法則如下:
下表中變數 a 為 60,b 為 13二進位制格式如下:
a運算子=0011
1100b =
0000
1101
-----------------a&
b =0000
1100a|
b =0011
1101a^
b =0011
0001
~a
=1100
0011
描述例項
&按位與運算子:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0
(a & b) 輸出結果 12 ,二進位制解釋: 0000 1100
|按位或運算子:只要對應的二個二進位有乙個為1時,結果位就為1。
(a | b) 輸出結果 61 ,二進位制解釋: 0011 1101
^按位異或運算子:當兩對應的二進位相異時,結果為1
(a ^ b) 輸出結果 49 ,二進位制解釋: 0011 0001
~按位取反運算子:對資料的每個二進位制位取反,即把1變為0,把0變為1。~x 類似於 -x-1
(~a ) 輸出結果 -61 ,二進位制解釋: 1100 0011, 在乙個有符號二進位制數的補碼形式。
<<
左移動運算子:運算數的各二進位全部左移若干位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0。
a << 2 輸出結果 240 ,二進位制解釋: 1111 0000
>>
右移動運算子:把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數
a >> 2 輸出結果 15 ,二進位制解釋: 0000 1111
以下例項演示了python所有位運算子的操作:
#!/usr/bin/python3
a= 60 # 60 = 0011 1100 b
= 13
# 13 = 0000 1101 c
= 0c= a&
b; # 12 = 0000 1100
print("
1 - c 的值為:",
c)c= a|
b; # 61 = 0011 1101
print("
2 - c 的值為:",
c)c= a^
b; # 49 = 0011 0001
print("
3 - c 的值為:",
c)c= ~a;
# -61 = 1100 0011
print("
4 - c 的值為:",
c)c=
a<< 2;
# 240 = 1111 0000
print("
5 - c 的值為:",
c)c=
a>> 2;
# 15 = 0000 1111
print("
6 - c 的值為:",
c)以上例項輸出結果:
1-c的值為:122
-c 的值為:613
-c 的值為:494
-c 的值為:-61
5-c 的值為:
2406-c
的值為:
15
is 與 == 區別:以下**列出了從最高到最低優先順序的所有運算子:is 用於判斷兩個變數引用物件是否為同乙個, == 用於判斷引用變數的值是否相等。
>>>a=
[1, 2
, 3]>>> b=
a>>> bis
atrue
>>>
b==
atrue
>>> b=
a[:]
>>> bis
afalse
>>>
b==
atrue
運算子描述
**指數 (最高優先順序)
~ + -
按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@)
* / % //
乘,除,取模和取整除
+ -加法減法
>> <<
右移,左移運算子
&位 'and'
^ |位運算子
<= < > >=
比較運算子
<> == !=
等於運算子
= %= /= //= -= += *= **=
賦值運算子
is is not
身份運算子
in not in
成員運算子
not or and
邏輯運算子
python3運算子 Python3 運算子
python3 運算子 python3 支援以下型別運算子 算術運算子 比較 關係 運算子 賦值運算子 邏輯運算子 位運算子 成員運算子 身份運算子 運算子優先順序 算術運算 a b 2,3 運算子說明 示例加 將兩個物件相加 a b 結果 5 減 將兩個物件相減 a b 結果 1 乘 將兩個物件相...
python3運算子 Python3運算子
什麼是運算子?本章節主要說明python的運算子。舉個簡單的例子 4 5 9。例子中,4 和 5 被稱為運算元,稱為運算子。python語言支援以下型別的運算子 算術運算子 比較 關係 運算子 賦值運算子 邏輯運算子 位運算子 成員運算子 身份運算子 運算子優先順序 接下來讓我們乙個個來學習pyth...
Python3 基礎(運算子)
以下假設變數a為10,變數b為21 按位運算子是把數字看作二進位制來進行計算的。python中的按位運算法則如下 下表中變數 a 為 60,b 為 13二進位制格式如下 python語言支援邏輯運算子,以下假設變數 a 為 10,b為 20 除了以上的一些運算子之外,python還支援成員運算子,測...