數學 +、-、*、/ 運算
+ 加法
- 減法
* 乘法
/ 除法
// 除法 (高斯取底)
% 取餘數
** 次方
print('9 + 2 = {}'.format(9 + 2))
print('9 - 2 = {}'.format(9 - 2))
print('9 * 2 = {}'.format(9 * 2))
print('9 / 2 = {}'.format(9 / 2))
print('9// 2 = {}'.format(9 // 2))
print('9 % 2 = {}'.format(9 % 2))
print('9** 2 = {}'.format(9 ** 2))
輸出結果
9 + 2 = 11
9 - 2 = 7
9 * 2 = 18
9 / 2 = 4.5
9// 2 = 4
9 % 2 = 1
9** 2 = 81
=:a = b + c 將 b + c 的運算結果給 a
+=:a += b 等於 a = a + b
-=:a -= b 等於 a = a - b
*=:a *= b 等於 a = a * b
/=:a /= b 等於 a = a / b
%=:a %= b 等於 a = a % b
**=:a **= b 等於 a = a ** b
//=:a //= b 等於 a = a // a
a = 5
b = 10
c = a + b
a+= c
b*= a
print('c值為 {}, a值為 {}, b值為 {}'.format(a+b, a, b))
輸出結果
c值為 220, a值為 20, b值為 200
用來比較兩個「運算元」的數值或字母大小,回傳布林值(Boolean)。
==:比較是否相等
!= :比較是否不相等
>:比較是否大於
>=:比較是否大於等於
< :比較是否小於
<=:比較是否小於等於
a = 5
b = 10
print('a == b:{}'.format(a == b))
print('a != b:{}'.format(a != b))
print('a > b:{}'.format(a > b))
print('a >= b:{}'.format(a >= b))
print('a < b:{}'.format(a < b))
print('a <= b:{}'.format(a <= b))
輸出結果
a == b:False
a != b:True
a > b:False
a >= b:False
a < b:True
a <= b:True
執行布林值(Boolean)的運算
and:a and b a、b 都為 True,結果才為 True
or:a or b a、b 只要有一個為 True,結果就為 True
not:not b 反向,b 如果為 False,結果就為 True
a = 1
b = 5
boo = False
print('b > a and b > a : {}'.format(b > a and b > a))
print('a > b and b > a : {}'.format(a > b and b > a))
print('b > a or a > b : {}'.format(b > a or b > a))
print('b > a or b > a : {}'.format(b > a or b > a))
print('a > b or a > b : {}'.format(a > b or a > b))
print('not boo : {}'.format(not boo))
輸出結果
b > a and b > a : True
a > b and b > a : False
b > a or a > b : True
b > a or b > a : True
a > b or a > b : False
not boo : True
對「二進位」進行位元運算,Python 使用 0b 前綴 (prefix) 來表示二進位。
&:兩個「運算元」的位元都為 1 時,結果為 1
| :兩個「運算元」其中一個位元為 1 時,結果為 1
^:兩個「運算元」的位元不同時,結果為 1
~:將「運算元」進行「二補數」運算
<<:將左側「運算元」依右側設定的數量向左移,「最低有效位」補 0
>>:將左側「運算元」依右側設定的數量向右移,「最高有效位」正值補 0、負值補 1,最低有效位丟棄
a = 0b1001
b = 0b1100
print('a = {}'.format(bin(a)))
print('b = {}'.format(bin(b)), end = '\n--------------------\n')
print('a & b = {}'.format(bin(a & b)))
print('a | b = {}'.format(bin(a | b)))
print('a ^ b = {}'.format(bin(a ^ b)), end = '\n\n')
print('a = {}'.format(bin(a)), end = '\n--------------------\n')
print('~a = {}'.format(bin(~a)))
print('a << 2 = {}'.format(bin(a << 2)))
print('a >> 2 = {}'.format(bin(a >> 2)))
輸出結果
a = 0b1001
b = 0b1100
--------------------
a & b = 0b1000
a | b = 0b1101
a ^ b = 0b101
a = 0b1001
--------------------
~a = -0b1010
a << 2 = 0b100100
a >> 2 = 0b10
用來判斷「元素」是否為String、List 或 Tuple)的成員:
in:是序列成員返回 True,否則返回 False。
not in:與上述 in 相反。
a = 5
b = 2
list = [1, 2, 3]
print('a in list : {}'.format(a in list))
print('b in list : {}'.format(b in list))
print('a not in list : {}'.format(a not in list))
print('b not in list : {}'.format(b not in list))
輸出結果
a in list : False
b in list : True
a not in list : True
b not in list : False
用來判斷兩個資料是否引用同一個物件,可以使用 id( ) 獲取物件的記憶體位址來進行比對:
is:引用自同一個物件返回 True,否則返回 False。
is not:與上述 is 相反。
a = 2
b = 2
print('id(a) : {}'.format(id(a)))
print('id(b) : {}'.format(id(b)))
print('a is b : {}'.format(a is b))
print('a is not b : {}'.format(a is not b))
b = 3
print('id(a) : {}'.format(id(a)))
print('id(b) : {}'.format(id(b)))
print('a is b : {}'.format(a is b))
print('a is not b : {}'.format(a is not b))
輸出結果
id(a) : 4381033648
id(b) : 4381033648
a is b : True
a is not b : False
id(a) : 4381033648
id(b) : 4381033680
a is b : False
a is not b : True