我的“便(bian)宜"Python網課第三課,bianpython網課
Python 運算子
Python支援以下類型的運算子:
算術運算子、比較(關係)運算子、賦值運算子、邏輯運算子、位元運算符、成員運算子、身份運算子、身份運算子、運算子優先順序。
Python算術運算子
以下假設變數:a = 20 , b = 40 :
運算子 |
描述 |
執行個體 |
+ |
加- 兩個對象相加 |
a + b = 60 |
- |
減-兩個對象相減 |
a - b = -20 |
* |
乘-兩個數2相乘或是返回一個被重複若干次的字串 |
a*b=800 |
/ |
除- X除以Y |
a/b=0.5 |
% |
模數-返回除法的餘數 |
b%a=0 |
** |
冪-運算 |
a**b= 10995116277760000000000000000000000000000000000000000 |
// |
取整除-返回商的整數部分 |
9//2 = 4, 9.0//2.0=4.0,40//20=2,20//40=0 |
執行個體運行所有的運算子
運行輸出結果:
Python 比較子
以下假設變數a =20, b = 40:
運算子 |
描述 |
執行個體 |
== |
等於,比較兩個對象是否相等 |
(a==b)返回false |
!= |
不等於-比較兩個對象是否不相等 |
(a!=b)返回True |
<> |
不等於-比較兩個對象是否相等。Python2支援,Python3不支援。 |
(a<>b)返回True |
> |
大於-返回x是否大於y |
(a>b)返回False |
< |
小於-返回x是否小於y |
(a<b)返回True |
>= |
大於等於-返回x是否大於y |
(a.=b)返回False |
<= |
小於等於-返回x是否小於y |
(a<=b)返回True |
運行結果:
Python 賦值運算子
以下假設變數a為20,b為40
運算子 |
描述 |
執行個體 |
= |
簡單的賦值運算子 |
c = a + b的運算結果賦值為c |
+= |
加法賦值運演算法 |
c+=a等效於c = c+a |
-= |
減法賦值運算子 |
c-=a等效於c = c -a |
*= |
乘法賦值運算子 |
c*=a等效於c = c*a |
/= |
除法賦值運算子 |
c/=a等效於c = c/a |
%= |
模數賦值運算子 |
c%=a等效於c=c%a |
**= |
冪賦值運算子 |
c**=a等效於c =c**a |
//= |
取整賦值運算子 |
c//=a等效於c=c//a |
示範執行個體:
執行個體輸出結果:
Python位元運算符
以下假設變數a為60,b為13
運算子 |
描述 |
執行個體 |
& |
按位與運算子:參與運算的兩個值,如果兩個相應位 都為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邏輯運算子
以下假設a = 10,b=20
運算子 |
邏輯運算式 |
描述 |
執行個體 |
and |
x and y |
布爾“與”-如果x為False,x and y 返回False,否則返回y的計算值 |
(a and b)返回20 |
or |
x or y |
布爾“或”- 如果x是非0,它返回x的值,否則它返回y的計算值。 |
(a or b)返回10 |
not |
not x |
布爾“非”-如果x為True,返回False,如果x為False,它返回True |
not(a and b)返回False. |
執行個體運行
執行個體輸出結果
Python成員運算子
除了以上的一些運算子之外,Python還支援成員運算子,測試執行個體中包含了一系列的成員,包括字串列表或元組。
運算子 |
描述 |
執行個體 |
in |
如果在指定的序列中找到值返回True,否則返回False |
x在y序列中,如果x在y序列中返回True |
not in |
如果在指定的序列中沒有找到值返回True,否則返回False. |
x 不在y序列中,如果x不在y序列中返回True |
以下執行個體示範了Python所有成員運算子的操作:
以上執行個體輸出結果
Python身份運算子
身份運算子用於比較兩個對象的儲存單元。
運算子 |
描述 |
執行個體 |
is |
is是判斷兩個標識符是不是引用自一個對象。 |
x is y,類似id(x) == id(y),如果引用的是同一個對象 則返回True,否則返回False. |
is not |
is not 是判斷兩個標識符是不是引用自不同的對象 |
x is not y,類似id(a)!=id(b),如果引用的不是同一個對象的則返回結果True,反則返回False. |
註:id()函數用於擷取對象記憶體位址。
以下執行個體示範了Python所有身份運算子的操作。
以上執行個體輸出結果
備忘:
is與 == 區別:is用於判斷兩個變數引用對象是否為同一個,== 用於判斷引用變數的值是否相等。
Python中沒有 ++ -- 自運算子。